STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228058
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/15315585?noj=FRM15315585-26DC" width="1" height="1"></div>

blocks.swf

This is the info page for
Flash #125047

(Click the ID number above for more basic data on this flash file.)


Text
=

<p align="left"><font face="Tahoma" size="17" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

BR

MENU

HIDE

HIDE

<p align="center"><font face="Aharoni" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>5</b></font></p>

SFX

X

<p align="center"><font face="Aharoni" size="20" color="#333333" letterSpacing="0.000000" kerning="1"><b>PICK UP THE BLOCK </b></font></p><p align="center"><font face="Aharoni" size="20" color="#333333" letterSpacing="0.000000" kerning="1"><b>AND THROW</b></font></p>

?

exploded

add this to your site

add this to your site

1 - 1

1 - 2

1 - 3

1 - 4

1 - 5

1 - 6

1 - 7

1 - 8

2 - 1

2 - 2

2 - 3

2 - 4

2 - 5

2 - 6

2 - 7

2 - 8

3 - 1

3 - 2

3 - 3

3 - 4

3 - 5

3 - 6

3 - 7

3 - 8

4 - 1

4 - 2

4 - 3

4 - 4

4 - 5

4 - 6

4 - 7

4 - 8

4 - 9

ActionScript [AS3]

Section 1
//back_button_121 (Blocks_fla.back_button_121) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class back_button_121 extends MovieClip { public var btn_back:LocalizedTextField; public function back_button_121(){ __setProp_btn_back_back_button_Layer3_0(); } function __setProp_btn_back_back_button_Layer3_0(){ try { btn_back["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_back.text = "{btn_back}"; btn_back.textColor = 13158; btn_back.textSize = 22; btn_back.bold = false; btn_back.disableWordwrap = false; btn_back.embedFonts = true; btn_back.font = "Ultimatum"; btn_back.hAlign = "left"; btn_back.multiline = true; btn_back.vAlign = "top"; btn_back.antiAliasType = "advanced"; btn_back.glowBlur = 3; btn_back.glowColor = 0; btn_back.useGlowFilter = false; btn_back.glowQuality = 1; btn_back.glowStrength = 5; btn_back.gridFitType = "pixel"; btn_back.italic = false; btn_back.selectable = false; btn_back.underline = false; try { btn_back["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 2
//blast_anim_yellow_118 (Blocks_fla.blast_anim_yellow_118) package Blocks_fla { import flash.display.*; public dynamic class blast_anim_yellow_118 extends MovieClip { public function blast_anim_yellow_118(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package Blocks_fla
Section 3
//comet_anim_194 (Blocks_fla.comet_anim_194) package Blocks_fla { import flash.display.*; public dynamic class comet_anim_194 extends MovieClip { public function comet_anim_194(){ addFrameScript(34, frame35); } function frame35(){ stop(); } } }//package Blocks_fla
Section 4
//complete_star_clip_210 (Blocks_fla.complete_star_clip_210) package Blocks_fla { import flash.display.*; public dynamic class complete_star_clip_210 extends MovieClip { public function complete_star_clip_210(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 5
//completion_anim_208 (Blocks_fla.completion_anim_208) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class completion_anim_208 extends MovieClip { public var general_congrats:LocalizedTextField; public function completion_anim_208(){ __setProp_general_congrats_completion_anim_Layer8_0(); } function __setProp_general_congrats_completion_anim_Layer8_0(){ try { general_congrats["componentInspectorSetting"] = true; } catch(e:Error) { }; general_congrats.text = "{general_congrats}"; general_congrats.textColor = 13158; general_congrats.textSize = 22; general_congrats.bold = false; general_congrats.disableWordwrap = false; general_congrats.embedFonts = true; general_congrats.font = "Ultimatum"; general_congrats.hAlign = "center"; general_congrats.multiline = true; general_congrats.vAlign = "top"; general_congrats.antiAliasType = "advanced"; general_congrats.glowBlur = 3; general_congrats.glowColor = 0; general_congrats.useGlowFilter = false; general_congrats.glowQuality = 1; general_congrats.glowStrength = 5; general_congrats.gridFitType = "pixel"; general_congrats.italic = false; general_congrats.selectable = false; general_congrats.underline = false; try { general_congrats["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 6
//Devil_anim_199 (Blocks_fla.Devil_anim_199) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class Devil_anim_199 extends MovieClip { public var eyes:Eyes; public var talk_devil_1:LocalizedTextField; public var talk_devil_2:LocalizedTextField; public var __setPropDict:Dictionary; public function Devil_anim_199(){ __setPropDict = new Dictionary(true); super(); addFrameScript(110, frame111, 323, frame324, 114, frame115, 115, frame116, 116, frame117, 117, frame118, 118, frame119, 119, frame120, 120, frame121, 121, frame122, 122, frame123, 123, frame124, 124, frame125, 125, frame126, 126, frame127, 127, frame128, 128, frame129, 129, frame130, 130, frame131, 131, frame132, 132, frame133, 133, frame134, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144, 144, frame145, 145, frame146, 146, frame147, 147, frame148, 148, frame149, 149, frame150, 150, frame151, 151, frame152, 152, frame153, 153, frame154, 154, frame155, 155, frame156, 156, frame157, 157, frame158, 158, frame159, 159, frame160, 160, frame161, 161, frame162, 162, frame163, 163, frame164, 164, frame165, 165, frame166, 166, frame167, 167, frame168, 168, frame169, 169, frame170, 170, frame171, 171, frame172, 172, frame173, 173, frame174, 206, frame207, 207, frame208, 208, frame209, 209, frame210, 210, frame211, 211, frame212, 212, frame213, 213, frame214, 214, frame215, 215, frame216, 216, frame217, 217, frame218, 218, frame219, 219, frame220, 220, frame221, 221, frame222, 222, frame223, 223, frame224, 224, frame225, 225, frame226, 226, frame227, 227, frame228, 228, frame229, 229, frame230, 230, frame231, 231, frame232, 232, frame233, 233, frame234, 234, frame235, 235, frame236, 236, frame237, 237, frame238, 238, frame239, 239, frame240, 240, frame241, 241, frame242, 242, frame243, 243, frame244, 244, frame245, 245, frame246, 246, frame247, 247, frame248, 248, frame249, 249, frame250, 250, frame251, 251, frame252, 252, frame253, 253, frame254, 254, frame255, 0xFF, frame256, 0x0100, frame257, 0x0101, frame258, 258, frame259, 259, frame260, 260, frame261, 261, frame262, 262, frame263, 263, frame264, 264, frame265, 265, frame266, 266, frame267, 267, frame268, 268, frame269, 269, frame270, 270, frame271, 271, frame272, 272, frame273, 273, frame274, 274, frame275, 275, frame276, 276, frame277, 277, frame278, 278, frame279, 279, frame280, 280, frame281, 281, frame282, 282, frame283, 283, frame284, 284, frame285, 285, frame286, 286, frame287, 287, frame288, 288, frame289, 289, frame290, 290, frame291, 291, frame292, 292, frame293, 293, frame294, 294, frame295, 295, frame296, 296, frame297, 297, frame298, 298, frame299, 299, frame300, 300, frame301, 301, frame302, 302, frame303, 303, frame304, 304, frame305, 305, frame306, 306, frame307, 307, frame308, 308, frame309, 309, frame310, 310, frame311, 311, frame312, 312, frame313, 313, frame314, 314, frame315, 315, frame316, 316, frame317); } function __setProp_talk_devil_1_Devil_anim_Layer2_114(){ if ((((__setPropDict[talk_devil_1] == undefined)) || (!((((int(__setPropDict[talk_devil_1]) >= 115)) && ((int(__setPropDict[talk_devil_1]) <= 174))))))){ __setPropDict[talk_devil_1] = currentFrame; try { talk_devil_1["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_devil_1.text = "{talk_devil_1}"; talk_devil_1.textColor = 0x666666; talk_devil_1.textSize = 16; talk_devil_1.bold = true; talk_devil_1.disableWordwrap = false; talk_devil_1.embedFonts = true; talk_devil_1.font = "Candara"; talk_devil_1.hAlign = "left"; talk_devil_1.multiline = true; talk_devil_1.vAlign = "top"; talk_devil_1.antiAliasType = "advanced"; talk_devil_1.glowBlur = 3; talk_devil_1.glowColor = 0; talk_devil_1.useGlowFilter = false; talk_devil_1.glowQuality = 1; talk_devil_1.glowStrength = 5; talk_devil_1.gridFitType = "pixel"; talk_devil_1.italic = false; talk_devil_1.selectable = false; talk_devil_1.underline = false; try { talk_devil_1["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_talk_devil_2_Devil_anim_Layer2_206(){ if ((((__setPropDict[talk_devil_2] == undefined)) || (!((((int(__setPropDict[talk_devil_2]) >= 207)) && ((int(__setPropDict[talk_devil_2]) <= 317))))))){ __setPropDict[talk_devil_2] = currentFrame; try { talk_devil_2["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_devil_2.text = "{talk_devil_2}"; talk_devil_2.textColor = 0x666666; talk_devil_2.textSize = 16; talk_devil_2.bold = true; talk_devil_2.disableWordwrap = false; talk_devil_2.embedFonts = true; talk_devil_2.font = "Candara"; talk_devil_2.hAlign = "left"; talk_devil_2.multiline = true; talk_devil_2.vAlign = "top"; talk_devil_2.antiAliasType = "advanced"; talk_devil_2.glowBlur = 3; talk_devil_2.glowColor = 0; talk_devil_2.useGlowFilter = false; talk_devil_2.glowQuality = 1; talk_devil_2.glowStrength = 5; talk_devil_2.gridFitType = "pixel"; talk_devil_2.italic = false; talk_devil_2.selectable = false; talk_devil_2.underline = false; try { talk_devil_2["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame111(){ MovieClip(root).simulator.playDevilTalk(); } function frame324(){ MovieClip(root).simulator.stopSFX(); MovieClip(root).nextFrame(); } function frame115(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame116(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame117(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame118(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame119(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame120(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame121(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame122(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame123(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame124(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame125(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame126(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame127(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame128(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame129(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame130(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame131(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame132(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame133(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame134(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame135(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame136(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame137(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame138(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame139(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame140(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame141(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame142(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame143(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame144(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame145(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame146(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame147(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame148(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame149(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame150(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame151(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame152(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame153(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame154(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame155(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame156(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame157(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame158(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame159(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame160(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame161(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame162(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame163(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame164(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame165(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame166(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame167(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame168(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame169(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame170(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame171(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame172(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame173(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame174(){ __setProp_talk_devil_1_Devil_anim_Layer2_114(); } function frame207(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame208(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame209(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame210(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame211(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame212(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame213(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame214(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame215(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame216(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame217(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame218(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame219(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame220(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame221(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame222(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame223(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame224(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame225(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame226(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame227(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame228(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame229(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame230(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame231(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame232(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame233(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame234(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame235(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame236(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame237(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame238(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame239(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame240(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame241(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame242(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame243(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame244(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame245(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame246(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame247(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame248(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame249(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame250(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame251(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame252(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame253(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame254(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame255(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame256(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame257(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame258(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame259(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame260(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame261(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame262(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame263(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame264(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame265(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame266(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame267(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame268(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame269(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame270(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame271(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame272(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame273(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame274(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame275(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame276(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame277(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame278(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame279(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame280(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame281(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame282(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame283(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame284(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame285(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame286(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame287(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame288(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame289(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame290(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame291(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame292(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame293(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame294(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame295(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame296(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame297(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame298(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame299(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame300(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame301(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame302(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame303(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame304(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame305(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame306(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame307(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame308(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame309(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame310(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame311(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame312(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame313(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame314(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame315(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame316(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } function frame317(){ __setProp_talk_devil_2_Devil_anim_Layer2_206(); } } }//package Blocks_fla
Section 7
//ember_clip_202 (Blocks_fla.ember_clip_202) package Blocks_fla { import flash.display.*; public dynamic class ember_clip_202 extends MovieClip { public function ember_clip_202(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package Blocks_fla
Section 8
//flag_icon_262 (Blocks_fla.flag_icon_262) package Blocks_fla { import flash.display.*; public dynamic class flag_icon_262 extends MovieClip { public function flag_icon_262(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 9
//Girl_anim_157 (Blocks_fla.Girl_anim_157) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class Girl_anim_157 extends MovieClip { public var eyes:MovieClip; public var talk_girl_2:LocalizedTextField; public var talk_girl_3:LocalizedTextField; public var talk_girl_1:LocalizedTextField; public var __setPropDict:Dictionary; public function Girl_anim_157(){ __setPropDict = new Dictionary(true); super(); addFrameScript(68, frame69, 128, frame129, 188, frame189, 260, frame261, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 77, frame78, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89, 89, frame90, 90, frame91, 91, frame92, 92, frame93, 93, frame94, 94, frame95, 95, frame96, 96, frame97, 97, frame98, 98, frame99, 99, frame100, 100, frame101, 101, frame102, 102, frame103, 103, frame104, 104, frame105, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112, 112, frame113, 113, frame114, 114, frame115, 127, frame128, 129, frame130, 130, frame131, 131, frame132, 132, frame133, 133, frame134, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144, 144, frame145, 145, frame146, 146, frame147, 147, frame148, 148, frame149, 149, frame150, 150, frame151, 151, frame152, 152, frame153, 153, frame154, 154, frame155, 155, frame156, 156, frame157, 157, frame158, 158, frame159, 159, frame160, 160, frame161, 161, frame162, 162, frame163, 163, frame164, 164, frame165, 165, frame166, 166, frame167, 167, frame168, 168, frame169, 169, frame170, 170, frame171, 171, frame172, 172, frame173, 173, frame174, 191, frame192, 192, frame193, 193, frame194, 194, frame195, 195, frame196, 196, frame197, 197, frame198, 198, frame199, 199, frame200, 200, frame201, 201, frame202, 202, frame203, 203, frame204, 204, frame205, 205, frame206, 206, frame207, 207, frame208, 208, frame209, 209, frame210, 210, frame211, 211, frame212, 212, frame213, 213, frame214, 214, frame215, 215, frame216, 216, frame217, 217, frame218, 218, frame219, 219, frame220, 220, frame221, 221, frame222, 222, frame223, 223, frame224, 224, frame225, 225, frame226, 226, frame227, 227, frame228, 228, frame229, 229, frame230, 230, frame231, 231, frame232, 232, frame233, 233, frame234, 234, frame235, 235, frame236, 236, frame237, 237, frame238, 238, frame239, 239, frame240, 240, frame241, 241, frame242, 242, frame243, 243, frame244, 244, frame245, 245, frame246, 246, frame247, 247, frame248, 248, frame249, 249, frame250, 250, frame251, 251, frame252, 252, frame253, 253, frame254); } function __setProp_talk_girl_1_Girl_anim_Layer2_71(){ if ((((__setPropDict[talk_girl_1] == undefined)) || (!((((int(__setPropDict[talk_girl_1]) >= 72)) && ((int(__setPropDict[talk_girl_1]) <= 115))))))){ __setPropDict[talk_girl_1] = currentFrame; try { talk_girl_1["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_girl_1.text = "{talk_girl_1}"; talk_girl_1.textColor = 0x666666; talk_girl_1.textSize = 16; talk_girl_1.bold = true; talk_girl_1.disableWordwrap = false; talk_girl_1.embedFonts = true; talk_girl_1.font = "Candara"; talk_girl_1.hAlign = "left"; talk_girl_1.multiline = true; talk_girl_1.vAlign = "top"; talk_girl_1.antiAliasType = "advanced"; talk_girl_1.glowBlur = 3; talk_girl_1.glowColor = 0; talk_girl_1.useGlowFilter = false; talk_girl_1.glowQuality = 1; talk_girl_1.glowStrength = 5; talk_girl_1.gridFitType = "pixel"; talk_girl_1.italic = false; talk_girl_1.selectable = false; talk_girl_1.underline = false; try { talk_girl_1["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_talk_girl_2_Girl_anim_Layer2_127(){ if ((((__setPropDict[talk_girl_2] == undefined)) || (!((((int(__setPropDict[talk_girl_2]) >= 128)) && ((int(__setPropDict[talk_girl_2]) <= 174))))))){ __setPropDict[talk_girl_2] = currentFrame; try { talk_girl_2["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_girl_2.text = "{talk_girl_2}"; talk_girl_2.textColor = 0x666666; talk_girl_2.textSize = 16; talk_girl_2.bold = true; talk_girl_2.disableWordwrap = false; talk_girl_2.embedFonts = true; talk_girl_2.font = "Candara"; talk_girl_2.hAlign = "left"; talk_girl_2.multiline = true; talk_girl_2.vAlign = "top"; talk_girl_2.antiAliasType = "advanced"; talk_girl_2.glowBlur = 3; talk_girl_2.glowColor = 0; talk_girl_2.useGlowFilter = false; talk_girl_2.glowQuality = 1; talk_girl_2.glowStrength = 5; talk_girl_2.gridFitType = "pixel"; talk_girl_2.italic = false; talk_girl_2.selectable = false; talk_girl_2.underline = false; try { talk_girl_2["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_talk_girl_3_Girl_anim_Layer2_191(){ if ((((__setPropDict[talk_girl_3] == undefined)) || (!((((int(__setPropDict[talk_girl_3]) >= 192)) && ((int(__setPropDict[talk_girl_3]) <= 254))))))){ __setPropDict[talk_girl_3] = currentFrame; try { talk_girl_3["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_girl_3.text = "{talk_girl_3}"; talk_girl_3.textColor = 0x666666; talk_girl_3.textSize = 16; talk_girl_3.bold = true; talk_girl_3.disableWordwrap = false; talk_girl_3.embedFonts = true; talk_girl_3.font = "Candara"; talk_girl_3.hAlign = "left"; talk_girl_3.multiline = true; talk_girl_3.vAlign = "top"; talk_girl_3.antiAliasType = "advanced"; talk_girl_3.glowBlur = 3; talk_girl_3.glowColor = 0; talk_girl_3.useGlowFilter = false; talk_girl_3.glowQuality = 1; talk_girl_3.glowStrength = 5; talk_girl_3.gridFitType = "pixel"; talk_girl_3.italic = false; talk_girl_3.selectable = false; talk_girl_3.underline = false; try { talk_girl_3["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame69(){ MovieClip(root).simulator.playGirlTalk1(); } function frame129(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); MovieClip(root).simulator.playGirlTalk2(); } function frame189(){ MovieClip(root).simulator.playGirlTalk3(); } function frame261(){ MovieClip(root).simulator.stopSFX(); MovieClip(root).nextFrame(); } function frame72(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame73(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame74(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame75(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame76(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame77(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame78(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame79(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame80(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame81(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame82(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame83(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame84(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame85(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame86(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame87(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame88(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame89(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame90(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame91(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame92(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame93(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame94(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame95(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame96(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame97(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame98(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame99(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame100(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame101(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame102(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame103(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame104(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame105(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame106(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame107(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame108(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame109(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame110(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame111(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame112(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame113(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame114(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame115(){ __setProp_talk_girl_1_Girl_anim_Layer2_71(); } function frame128(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame130(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame131(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame132(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame133(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame134(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame135(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame136(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame137(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame138(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame139(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame140(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame141(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame142(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame143(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame144(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame145(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame146(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame147(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame148(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame149(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame150(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame151(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame152(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame153(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame154(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame155(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame156(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame157(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame158(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame159(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame160(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame161(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame162(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame163(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame164(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame165(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame166(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame167(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame168(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame169(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame170(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame171(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame172(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame173(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame174(){ __setProp_talk_girl_2_Girl_anim_Layer2_127(); } function frame192(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame193(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame194(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame195(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame196(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame197(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame198(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame199(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame200(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame201(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame202(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame203(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame204(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame205(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame206(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame207(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame208(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame209(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame210(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame211(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame212(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame213(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame214(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame215(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame216(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame217(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame218(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame219(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame220(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame221(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame222(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame223(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame224(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame225(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame226(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame227(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame228(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame229(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame230(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame231(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame232(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame233(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame234(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame235(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame236(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame237(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame238(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame239(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame240(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame241(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame242(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame243(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame244(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame245(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame246(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame247(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame248(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame249(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame250(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame251(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame252(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame253(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } function frame254(){ __setProp_talk_girl_3_Girl_anim_Layer2_191(); } } }//package Blocks_fla
Section 10
//help_box1_139 (Blocks_fla.help_box1_139) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class help_box1_139 extends MovieClip { public var invButtonClose:invButton; public var help_box_1:LocalizedTextField; public var invButtonOpen:invButton; public var __setPropDict:Dictionary; public function help_box1_139(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } function __setProp_help_box_1_help_box1_Layer2_0(){ if ((((__setPropDict[help_box_1] == undefined)) || (!((int(__setPropDict[help_box_1]) == 1))))){ __setPropDict[help_box_1] = 1; try { help_box_1["componentInspectorSetting"] = true; } catch(e:Error) { }; help_box_1.text = "{help_box_1}"; help_box_1.textColor = 0x333333; help_box_1.textSize = 16; help_box_1.bold = true; help_box_1.disableWordwrap = false; help_box_1.embedFonts = true; help_box_1.font = "Candara"; help_box_1.hAlign = "left"; help_box_1.multiline = true; help_box_1.vAlign = "top"; help_box_1.antiAliasType = "advanced"; help_box_1.glowBlur = 3; help_box_1.glowColor = 0; help_box_1.useGlowFilter = false; help_box_1.glowQuality = 1; help_box_1.glowStrength = 5; help_box_1.gridFitType = "pixel"; help_box_1.italic = false; help_box_1.selectable = false; help_box_1.underline = false; try { help_box_1["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp_help_box_1_help_box1_Layer2_0(); stop(); invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package Blocks_fla
Section 11
//help_box2_140 (Blocks_fla.help_box2_140) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class help_box2_140 extends MovieClip { public var invButtonClose:invButton; public var invButtonOpen:invButton; public var help_box_2:LocalizedTextField; public var __setPropDict:Dictionary; public function help_box2_140(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } function __setProp_help_box_2_help_box2_Layer2_0(){ if ((((__setPropDict[help_box_2] == undefined)) || (!((int(__setPropDict[help_box_2]) == 1))))){ __setPropDict[help_box_2] = 1; try { help_box_2["componentInspectorSetting"] = true; } catch(e:Error) { }; help_box_2.text = "{help_box_2}"; help_box_2.textColor = 0x333333; help_box_2.textSize = 16; help_box_2.bold = true; help_box_2.disableWordwrap = false; help_box_2.embedFonts = true; help_box_2.font = "Candara"; help_box_2.hAlign = "left"; help_box_2.multiline = true; help_box_2.vAlign = "top"; help_box_2.antiAliasType = "advanced"; help_box_2.glowBlur = 3; help_box_2.glowColor = 0; help_box_2.useGlowFilter = false; help_box_2.glowQuality = 1; help_box_2.glowStrength = 5; help_box_2.gridFitType = "pixel"; help_box_2.italic = false; help_box_2.selectable = false; help_box_2.underline = false; try { help_box_2["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp_help_box_2_help_box2_Layer2_0(); stop(); invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package Blocks_fla
Section 12
//help_box3_151 (Blocks_fla.help_box3_151) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class help_box3_151 extends MovieClip { public var invButtonClose:invButton; public var invButtonOpen:invButton; public var help_box_3:LocalizedTextField; public var __setPropDict:Dictionary; public function help_box3_151(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } function __setProp_help_box_3_help_box3_Layer2_0(){ if ((((__setPropDict[help_box_3] == undefined)) || (!((int(__setPropDict[help_box_3]) == 1))))){ __setPropDict[help_box_3] = 1; try { help_box_3["componentInspectorSetting"] = true; } catch(e:Error) { }; help_box_3.text = "{help_box_3}"; help_box_3.textColor = 0x333333; help_box_3.textSize = 16; help_box_3.bold = true; help_box_3.disableWordwrap = false; help_box_3.embedFonts = true; help_box_3.font = "Candara"; help_box_3.hAlign = "left"; help_box_3.multiline = true; help_box_3.vAlign = "top"; help_box_3.antiAliasType = "advanced"; help_box_3.glowBlur = 3; help_box_3.glowColor = 0; help_box_3.useGlowFilter = false; help_box_3.glowQuality = 1; help_box_3.glowStrength = 5; help_box_3.gridFitType = "pixel"; help_box_3.italic = false; help_box_3.selectable = false; help_box_3.underline = false; try { help_box_3["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp_help_box_3_help_box3_Layer2_0(); stop(); invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package Blocks_fla
Section 13
//help_box4_165 (Blocks_fla.help_box4_165) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class help_box4_165 extends MovieClip { public var invButtonClose:invButton; public var help_box_4:LocalizedTextField; public var invButtonOpen:invButton; public var __setPropDict:Dictionary; public function help_box4_165(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } function __setProp_help_box_4_help_box4_Layer2_0(){ if ((((__setPropDict[help_box_4] == undefined)) || (!((int(__setPropDict[help_box_4]) == 1))))){ __setPropDict[help_box_4] = 1; try { help_box_4["componentInspectorSetting"] = true; } catch(e:Error) { }; help_box_4.text = "{help_box_4}"; help_box_4.textColor = 0x333333; help_box_4.textSize = 16; help_box_4.bold = true; help_box_4.disableWordwrap = false; help_box_4.embedFonts = true; help_box_4.font = "Candara"; help_box_4.hAlign = "left"; help_box_4.multiline = true; help_box_4.vAlign = "top"; help_box_4.antiAliasType = "advanced"; help_box_4.glowBlur = 3; help_box_4.glowColor = 0; help_box_4.useGlowFilter = false; help_box_4.glowQuality = 1; help_box_4.glowStrength = 5; help_box_4.gridFitType = "pixel"; help_box_4.italic = false; help_box_4.selectable = false; help_box_4.underline = false; try { help_box_4["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp_help_box_4_help_box4_Layer2_0(); stop(); invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package Blocks_fla
Section 14
//help_box5_185 (Blocks_fla.help_box5_185) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class help_box5_185 extends MovieClip { public var invButtonClose:invButton; public var help_box_5:LocalizedTextField; public var invButtonOpen:invButton; public var __setPropDict:Dictionary; public function help_box5_185(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } function __setProp_help_box_5_help_box5_Layer2_0(){ if ((((__setPropDict[help_box_5] == undefined)) || (!((int(__setPropDict[help_box_5]) == 1))))){ __setPropDict[help_box_5] = 1; try { help_box_5["componentInspectorSetting"] = true; } catch(e:Error) { }; help_box_5.text = "{help_box_5}"; help_box_5.textColor = 0x333333; help_box_5.textSize = 16; help_box_5.bold = true; help_box_5.disableWordwrap = false; help_box_5.embedFonts = true; help_box_5.font = "Candara"; help_box_5.hAlign = "left"; help_box_5.multiline = true; help_box_5.vAlign = "top"; help_box_5.antiAliasType = "advanced"; help_box_5.glowBlur = 3; help_box_5.glowColor = 0; help_box_5.useGlowFilter = false; help_box_5.glowQuality = 1; help_box_5.glowStrength = 5; help_box_5.gridFitType = "pixel"; help_box_5.italic = false; help_box_5.selectable = false; help_box_5.underline = false; try { help_box_5["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp_help_box_5_help_box5_Layer2_0(); stop(); invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package Blocks_fla
Section 15
//intro_1_clip_128 (Blocks_fla.intro_1_clip_128) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class intro_1_clip_128 extends MovieClip { public var talk_simple_1:LocalizedTextField; public var talk_simple_2:LocalizedTextField; public var __setPropDict:Dictionary; public function intro_1_clip_128(){ __setPropDict = new Dictionary(true); super(); addFrameScript(65, frame66, 132, frame133, 180, frame181, 67, frame68, 68, frame69, 69, frame70, 70, frame71, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 77, frame78, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89, 89, frame90, 90, frame91, 91, frame92, 92, frame93, 93, frame94, 94, frame95, 95, frame96, 96, frame97, 97, frame98, 98, frame99, 99, frame100, 100, frame101, 101, frame102, 102, frame103, 103, frame104, 104, frame105, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112, 112, frame113, 113, frame114, 114, frame115, 115, frame116, 116, frame117, 117, frame118, 133, frame134, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144, 144, frame145, 145, frame146, 146, frame147, 147, frame148, 148, frame149, 149, frame150, 150, frame151, 151, frame152, 152, frame153, 153, frame154, 154, frame155, 155, frame156, 156, frame157, 157, frame158, 158, frame159, 159, frame160, 160, frame161, 161, frame162, 162, frame163, 163, frame164, 164, frame165, 165, frame166, 166, frame167, 167, frame168, 168, frame169, 169, frame170, 170, frame171, 171, frame172, 172, frame173, 173, frame174, 174, frame175); } function __setProp_talk_simple_1_intro_1_clip_Layer2_67(){ if ((((__setPropDict[talk_simple_1] == undefined)) || (!((((int(__setPropDict[talk_simple_1]) >= 68)) && ((int(__setPropDict[talk_simple_1]) <= 118))))))){ __setPropDict[talk_simple_1] = currentFrame; try { talk_simple_1["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_simple_1.text = "{talk_simple_1}"; talk_simple_1.textColor = 0x666666; talk_simple_1.textSize = 16; talk_simple_1.bold = true; talk_simple_1.disableWordwrap = false; talk_simple_1.embedFonts = true; talk_simple_1.font = "Candara"; talk_simple_1.hAlign = "left"; talk_simple_1.multiline = true; talk_simple_1.vAlign = "top"; talk_simple_1.antiAliasType = "advanced"; talk_simple_1.glowBlur = 3; talk_simple_1.glowColor = 0; talk_simple_1.useGlowFilter = false; talk_simple_1.glowQuality = 1; talk_simple_1.glowStrength = 5; talk_simple_1.gridFitType = "pixel"; talk_simple_1.italic = false; talk_simple_1.selectable = false; talk_simple_1.underline = false; try { talk_simple_1["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_talk_simple_2_intro_1_clip_Layer2_133(){ if ((((__setPropDict[talk_simple_2] == undefined)) || (!((((int(__setPropDict[talk_simple_2]) >= 134)) && ((int(__setPropDict[talk_simple_2]) <= 175))))))){ __setPropDict[talk_simple_2] = currentFrame; try { talk_simple_2["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_simple_2.text = "{talk_simple_2}"; talk_simple_2.textColor = 0x666666; talk_simple_2.textSize = 16; talk_simple_2.bold = true; talk_simple_2.disableWordwrap = false; talk_simple_2.embedFonts = true; talk_simple_2.font = "Candara"; talk_simple_2.hAlign = "left"; talk_simple_2.multiline = true; talk_simple_2.vAlign = "top"; talk_simple_2.antiAliasType = "advanced"; talk_simple_2.glowBlur = 3; talk_simple_2.glowColor = 0; talk_simple_2.useGlowFilter = false; talk_simple_2.glowQuality = 1; talk_simple_2.glowStrength = 5; talk_simple_2.gridFitType = "pixel"; talk_simple_2.italic = false; talk_simple_2.selectable = false; talk_simple_2.underline = false; try { talk_simple_2["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame66(){ MovieClip(root).simulator.playBoxTalk1(); } function frame133(){ MovieClip(root).simulator.playBoxTalk2(); } function frame181(){ MovieClip(root).simulator.stopSFX(); MovieClip(root).nextFrame(); } function frame68(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame69(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame70(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame71(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame72(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame73(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame74(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame75(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame76(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame77(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame78(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame79(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame80(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame81(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame82(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame83(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame84(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame85(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame86(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame87(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame88(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame89(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame90(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame91(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame92(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame93(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame94(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame95(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame96(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame97(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame98(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame99(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame100(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame101(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame102(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame103(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame104(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame105(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame106(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame107(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame108(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame109(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame110(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame111(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame112(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame113(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame114(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame115(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame116(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame117(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame118(){ __setProp_talk_simple_1_intro_1_clip_Layer2_67(); } function frame134(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame135(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame136(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame137(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame138(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame139(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame140(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame141(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame142(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame143(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame144(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame145(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame146(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame147(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame148(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame149(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame150(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame151(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame152(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame153(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame154(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame155(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame156(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame157(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame158(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame159(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame160(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame161(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame162(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame163(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame164(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame165(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame166(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame167(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame168(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame169(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame170(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame171(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame172(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame173(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame174(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } function frame175(){ __setProp_talk_simple_2_intro_1_clip_Layer2_133(); } } }//package Blocks_fla
Section 16
//intro_anim_out_112 (Blocks_fla.intro_anim_out_112) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class intro_anim_out_112 extends MovieClip { public var leftDot:MovieClip; public var eyes:MovieClip; public var rightDot:MovieClip; public function intro_anim_out_112(){ addFrameScript(14, frame15, 30, frame31); } function frame15(){ MovieClip(root).simulator.playExplosionSound(); } function frame31(){ stop(); MovieClip(root).simulator.stopMusic(); MovieClip(root).gotoAndPlay(MovieClip(root).simulator.getPage()); } } }//package Blocks_fla
Section 17
//intro_clip_1_a_129 (Blocks_fla.intro_clip_1_a_129) package Blocks_fla { import flash.display.*; public dynamic class intro_clip_1_a_129 extends MovieClip { public var eyes:MovieClip; public function intro_clip_1_a_129(){ addFrameScript(61, frame62); } function frame62(){ stop(); } } }//package Blocks_fla
Section 18
//intro_text_anim_89 (Blocks_fla.intro_text_anim_89) package Blocks_fla { import flash.display.*; public dynamic class intro_text_anim_89 extends MovieClip { public function intro_text_anim_89(){ addFrameScript(16, frame17); } function frame17(){ stop(); } } }//package Blocks_fla
Section 19
//intro_text_anim_out_120 (Blocks_fla.intro_text_anim_out_120) package Blocks_fla { import flash.display.*; public dynamic class intro_text_anim_out_120 extends MovieClip { public function intro_text_anim_out_120(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package Blocks_fla
Section 20
//item_collect_135 (Blocks_fla.item_collect_135) package Blocks_fla { import flash.display.*; public dynamic class item_collect_135 extends MovieClip { public function item_collect_135(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package Blocks_fla
Section 21
//loading_clip_1 (Blocks_fla.loading_clip_1) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class loading_clip_1 extends MovieClip { public var general_loading:LocalizedTextField; public function loading_clip_1(){ __setProp_general_loading_loading_clip_Layer2_0(); } function __setProp_general_loading_loading_clip_Layer2_0(){ try { general_loading["componentInspectorSetting"] = true; } catch(e:Error) { }; general_loading.text = "{general_loading}"; general_loading.textColor = 13158; general_loading.textSize = 22; general_loading.bold = false; general_loading.disableWordwrap = false; general_loading.embedFonts = true; general_loading.font = "Ultimatum"; general_loading.hAlign = "center"; general_loading.multiline = true; general_loading.vAlign = "top"; general_loading.antiAliasType = "advanced"; general_loading.glowBlur = 3; general_loading.glowColor = 0; general_loading.useGlowFilter = false; general_loading.glowQuality = 1; general_loading.glowStrength = 5; general_loading.gridFitType = "pixel"; general_loading.italic = false; general_loading.selectable = false; general_loading.underline = false; try { general_loading["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 22
//menu_button_left_105 (Blocks_fla.menu_button_left_105) package Blocks_fla { import flash.display.*; public dynamic class menu_button_left_105 extends MovieClip { public function menu_button_left_105(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 23
//menu_button_right_107 (Blocks_fla.menu_button_right_107) package Blocks_fla { import flash.display.*; public dynamic class menu_button_right_107 extends MovieClip { public function menu_button_right_107(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 24
//menu_clip_continue_102 (Blocks_fla.menu_clip_continue_102) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_clip_continue_102 extends MovieClip { public var btn_continue:LocalizedTextField; public function menu_clip_continue_102(){ __setProp_btn_continue_menu_clip_continue_Layer1_0(); } function __setProp_btn_continue_menu_clip_continue_Layer1_0(){ try { btn_continue["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_continue.text = "{btn_continue}"; btn_continue.textColor = 0xFFFFFF; btn_continue.textSize = 22; btn_continue.bold = true; btn_continue.disableWordwrap = false; btn_continue.embedFonts = true; btn_continue.font = "Candara"; btn_continue.hAlign = "center"; btn_continue.multiline = true; btn_continue.vAlign = "top"; btn_continue.antiAliasType = "advanced"; btn_continue.glowBlur = 3; btn_continue.glowColor = 0; btn_continue.useGlowFilter = false; btn_continue.glowQuality = 1; btn_continue.glowStrength = 5; btn_continue.gridFitType = "pixel"; btn_continue.italic = false; btn_continue.selectable = false; btn_continue.underline = false; try { btn_continue["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 25
//menu_clip_credits_103 (Blocks_fla.menu_clip_credits_103) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_clip_credits_103 extends MovieClip { public var btn_credits:LocalizedTextField; public function menu_clip_credits_103(){ __setProp_btn_credits_menu_clip_credits_Layer1_0(); } function __setProp_btn_credits_menu_clip_credits_Layer1_0(){ try { btn_credits["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_credits.text = "{btn_credits}"; btn_credits.textColor = 0xFFFFFF; btn_credits.textSize = 22; btn_credits.bold = true; btn_credits.disableWordwrap = false; btn_credits.embedFonts = true; btn_credits.font = "Candara"; btn_credits.hAlign = "center"; btn_credits.multiline = true; btn_credits.vAlign = "top"; btn_credits.antiAliasType = "advanced"; btn_credits.glowBlur = 3; btn_credits.glowColor = 0; btn_credits.useGlowFilter = false; btn_credits.glowQuality = 1; btn_credits.glowStrength = 5; btn_credits.gridFitType = "pixel"; btn_credits.italic = false; btn_credits.selectable = false; btn_credits.underline = false; try { btn_credits["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 26
//menu_clip_more_games_101 (Blocks_fla.menu_clip_more_games_101) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_clip_more_games_101 extends MovieClip { public var btn_more_games:LocalizedTextField; public function menu_clip_more_games_101(){ __setProp_btn_more_games_menu_clip_more_games_Layer1_0(); } function __setProp_btn_more_games_menu_clip_more_games_Layer1_0(){ try { btn_more_games["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_more_games.text = "{btn_more_games}"; btn_more_games.textColor = 0xFFFFFF; btn_more_games.textSize = 22; btn_more_games.bold = true; btn_more_games.disableWordwrap = false; btn_more_games.embedFonts = true; btn_more_games.font = "Candara"; btn_more_games.hAlign = "center"; btn_more_games.multiline = true; btn_more_games.vAlign = "top"; btn_more_games.antiAliasType = "advanced"; btn_more_games.glowBlur = 3; btn_more_games.glowColor = 0; btn_more_games.useGlowFilter = false; btn_more_games.glowQuality = 1; btn_more_games.glowStrength = 5; btn_more_games.gridFitType = "pixel"; btn_more_games.italic = false; btn_more_games.selectable = false; btn_more_games.underline = false; try { btn_more_games["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 27
//menu_clip_start_100 (Blocks_fla.menu_clip_start_100) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_clip_start_100 extends MovieClip { public var btn_startgame:LocalizedTextField; public function menu_clip_start_100(){ __setProp_btn_startgame_menu_clip_start_Layer1_0(); } function __setProp_btn_startgame_menu_clip_start_Layer1_0(){ try { btn_startgame["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_startgame.text = "{btn_startgame}"; btn_startgame.textColor = 0xFFFFFF; btn_startgame.textSize = 22; btn_startgame.bold = true; btn_startgame.disableWordwrap = false; btn_startgame.embedFonts = true; btn_startgame.font = "Candara"; btn_startgame.hAlign = "center"; btn_startgame.multiline = true; btn_startgame.vAlign = "top"; btn_startgame.antiAliasType = "advanced"; btn_startgame.glowBlur = 3; btn_startgame.glowColor = 0; btn_startgame.useGlowFilter = false; btn_startgame.glowQuality = 1; btn_startgame.glowStrength = 5; btn_startgame.gridFitType = "pixel"; btn_startgame.italic = false; btn_startgame.selectable = false; btn_startgame.underline = false; try { btn_startgame["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 28
//menu_clip_walkthrough_104 (Blocks_fla.menu_clip_walkthrough_104) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_clip_walkthrough_104 extends MovieClip { public var btn_walkthrough:LocalizedTextField; public function menu_clip_walkthrough_104(){ __setProp_btn_walkthrough_menu_clip_walkthrough_Layer1_0(); } function __setProp_btn_walkthrough_menu_clip_walkthrough_Layer1_0(){ try { btn_walkthrough["componentInspectorSetting"] = true; } catch(e:Error) { }; btn_walkthrough.text = "{btn_walkthrough}"; btn_walkthrough.textColor = 0xFFFFFF; btn_walkthrough.textSize = 22; btn_walkthrough.bold = true; btn_walkthrough.disableWordwrap = false; btn_walkthrough.embedFonts = true; btn_walkthrough.font = "Candara"; btn_walkthrough.hAlign = "center"; btn_walkthrough.multiline = true; btn_walkthrough.vAlign = "top"; btn_walkthrough.antiAliasType = "advanced"; btn_walkthrough.glowBlur = 3; btn_walkthrough.glowColor = 0; btn_walkthrough.useGlowFilter = false; btn_walkthrough.glowQuality = 1; btn_walkthrough.glowStrength = 5; btn_walkthrough.gridFitType = "pixel"; btn_walkthrough.italic = false; btn_walkthrough.selectable = false; btn_walkthrough.underline = false; try { btn_walkthrough["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Blocks_fla
Section 29
//mouth_talk_130 (Blocks_fla.mouth_talk_130) package Blocks_fla { import flash.display.*; public dynamic class mouth_talk_130 extends MovieClip { public function mouth_talk_130(){ addFrameScript(134, frame135); } function frame135(){ stop(); } } }//package Blocks_fla
Section 30
//mouth_talk_devil_200 (Blocks_fla.mouth_talk_devil_200) package Blocks_fla { import flash.display.*; public dynamic class mouth_talk_devil_200 extends MovieClip { public function mouth_talk_devil_200(){ addFrameScript(138, frame139); } function frame139(){ stop(); } } }//package Blocks_fla
Section 31
//mystery_block_4 (Blocks_fla.mystery_block_4) package Blocks_fla { import flash.display.*; public dynamic class mystery_block_4 extends MovieClip { public var leftDot:MovieClip; public var eyes:Eyes; public var rightDot:MovieClip; public var randomMove:int; public function mystery_block_4(){ addFrameScript(0, frame1, 100, frame101); } function frame1(){ stop(); } function frame101(){ stop(); randomMove = 0; randomMove = (Math.floor((Math.random() * ((1 + 4) - 1))) + 1); trace(randomMove); switch (randomMove){ case 1: gotoAndStop("Girl"); break; case 2: gotoAndStop("Simple"); break; case 3: gotoAndStop("Tech"); break; case 4: gotoAndStop("Devil"); break; default: trace("None"); }; } } }//package Blocks_fla
Section 32
//preloader_hide_6 (Blocks_fla.preloader_hide_6) package Blocks_fla { import flash.display.*; public dynamic class preloader_hide_6 extends MovieClip { public function preloader_hide_6(){ addFrameScript(9, frame10); } function frame10(){ stop(); } } }//package Blocks_fla
Section 33
//tech_intro_anim_181 (Blocks_fla.tech_intro_anim_181) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class tech_intro_anim_181 extends MovieClip { public var eyes:Eyes; public var talk_tech_2:LocalizedTextField; public var talk_tech_1:LocalizedTextField; public var __setPropDict:Dictionary; public function tech_intro_anim_181(){ __setPropDict = new Dictionary(true); super(); addFrameScript(35, frame36, 154, frame155, 40, frame41, 41, frame42, 42, frame43, 43, frame44, 44, frame45, 45, frame46, 46, frame47, 47, frame48, 48, frame49, 49, frame50, 50, frame51, 51, frame52, 52, frame53, 53, frame54, 54, frame55, 55, frame56, 56, frame57, 57, frame58, 58, frame59, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 70, frame71, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 77, frame78, 78, frame79, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112, 112, frame113, 113, frame114, 114, frame115, 115, frame116, 116, frame117, 117, frame118, 118, frame119, 119, frame120, 120, frame121, 121, frame122, 122, frame123, 123, frame124, 124, frame125, 125, frame126, 126, frame127, 127, frame128, 128, frame129, 129, frame130, 130, frame131, 131, frame132, 132, frame133, 133, frame134, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144); } function __setProp_talk_tech_1_tech_intro_anim_Layer2_40(){ if ((((__setPropDict[talk_tech_1] == undefined)) || (!((((int(__setPropDict[talk_tech_1]) >= 41)) && ((int(__setPropDict[talk_tech_1]) <= 79))))))){ __setPropDict[talk_tech_1] = currentFrame; try { talk_tech_1["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_tech_1.text = "{talk_tech_1}"; talk_tech_1.textColor = 0x666666; talk_tech_1.textSize = 16; talk_tech_1.bold = true; talk_tech_1.disableWordwrap = false; talk_tech_1.embedFonts = true; talk_tech_1.font = "Candara"; talk_tech_1.hAlign = "left"; talk_tech_1.multiline = true; talk_tech_1.vAlign = "top"; talk_tech_1.antiAliasType = "advanced"; talk_tech_1.glowBlur = 3; talk_tech_1.glowColor = 0; talk_tech_1.useGlowFilter = false; talk_tech_1.glowQuality = 1; talk_tech_1.glowStrength = 5; talk_tech_1.gridFitType = "pixel"; talk_tech_1.italic = false; talk_tech_1.selectable = false; talk_tech_1.underline = false; try { talk_tech_1["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_talk_tech_2_tech_intro_anim_Layer2_105(){ if ((((__setPropDict[talk_tech_2] == undefined)) || (!((((int(__setPropDict[talk_tech_2]) >= 106)) && ((int(__setPropDict[talk_tech_2]) <= 144))))))){ __setPropDict[talk_tech_2] = currentFrame; try { talk_tech_2["componentInspectorSetting"] = true; } catch(e:Error) { }; talk_tech_2.text = "{talk_tech_2}"; talk_tech_2.textColor = 0x666666; talk_tech_2.textSize = 16; talk_tech_2.bold = true; talk_tech_2.disableWordwrap = false; talk_tech_2.embedFonts = true; talk_tech_2.font = "Candara"; talk_tech_2.hAlign = "left"; talk_tech_2.multiline = true; talk_tech_2.vAlign = "top"; talk_tech_2.antiAliasType = "advanced"; talk_tech_2.glowBlur = 3; talk_tech_2.glowColor = 0; talk_tech_2.useGlowFilter = false; talk_tech_2.glowQuality = 1; talk_tech_2.glowStrength = 5; talk_tech_2.gridFitType = "pixel"; talk_tech_2.italic = false; talk_tech_2.selectable = false; talk_tech_2.underline = false; try { talk_tech_2["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame36(){ MovieClip(root).simulator.playTechTalk(); } function frame155(){ MovieClip(root).simulator.stopSFX(); MovieClip(root).nextFrame(); } function frame41(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame42(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame43(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame44(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame45(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame46(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame47(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame48(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame49(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame50(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame51(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame52(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame53(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame54(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame55(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame56(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame57(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame58(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame59(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame60(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame61(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame62(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame63(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame64(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame65(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame66(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame67(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame68(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame69(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame70(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame71(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame72(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame73(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame74(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame75(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame76(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame77(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame78(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame79(){ __setProp_talk_tech_1_tech_intro_anim_Layer2_40(); } function frame106(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame107(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame108(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame109(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame110(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame111(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame112(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame113(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame114(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame115(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame116(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame117(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame118(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame119(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame120(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame121(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame122(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame123(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame124(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame125(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame126(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame127(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame128(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame129(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame130(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame131(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame132(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame133(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame134(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame135(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame136(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame137(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame138(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame139(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame140(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame141(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame142(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame143(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } function frame144(){ __setProp_talk_tech_2_tech_intro_anim_Layer2_105(); } } }//package Blocks_fla
Section 34
//text_shadow_anim_86 (Blocks_fla.text_shadow_anim_86) package Blocks_fla { import flash.display.*; public dynamic class text_shadow_anim_86 extends MovieClip { public function text_shadow_anim_86(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package Blocks_fla
Section 35
//text_shadow_anim_out_111 (Blocks_fla.text_shadow_anim_out_111) package Blocks_fla { import flash.display.*; public dynamic class text_shadow_anim_out_111 extends MovieClip { public function text_shadow_anim_out_111(){ addFrameScript(31, frame32); } function frame32(){ stop(); } } }//package Blocks_fla
Section 36
//transition_out_preloader_8 (Blocks_fla.transition_out_preloader_8) package Blocks_fla { import flash.display.*; public dynamic class transition_out_preloader_8 extends MovieClip { public function transition_out_preloader_8(){ addFrameScript(30, frame31); } function frame31(){ MovieClip(root).nextFrame(); stop(); } } }//package Blocks_fla
Section 37
//won_block_clip_209 (Blocks_fla.won_block_clip_209) package Blocks_fla { import flash.display.*; public dynamic class won_block_clip_209 extends MovieClip { public var leftDot:MovieClip; public var eyes:MovieClip; public var rightDot:MovieClip; public function won_block_clip_209(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 38
//won_clip_0_211 (Blocks_fla.won_clip_0_211) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_0_211 extends MovieClip { public var end_poor:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_0_211(){ __setPropDict = new Dictionary(true); super(); addFrameScript(49, frame50, 36, frame37, 37, frame38, 38, frame39, 39, frame40, 40, frame41, 41, frame42, 42, frame43, 43, frame44, 44, frame45, 45, frame46, 46, frame47, 47, frame48, 48, frame49); } function __setProp_end_poor_won_clip_0_Layer6_36(){ if ((((__setPropDict[end_poor] == undefined)) || (!((((int(__setPropDict[end_poor]) >= 37)) && ((int(__setPropDict[end_poor]) <= 50))))))){ __setPropDict[end_poor] = currentFrame; try { end_poor["componentInspectorSetting"] = true; } catch(e:Error) { }; end_poor.text = "{end_poor}"; end_poor.textColor = 13158; end_poor.textSize = 22; end_poor.bold = false; end_poor.disableWordwrap = false; end_poor.embedFonts = true; end_poor.font = "Ultimatum"; end_poor.hAlign = "center"; end_poor.multiline = true; end_poor.vAlign = "top"; end_poor.antiAliasType = "advanced"; end_poor.glowBlur = 3; end_poor.glowColor = 0; end_poor.useGlowFilter = false; end_poor.glowQuality = 1; end_poor.glowStrength = 5; end_poor.gridFitType = "pixel"; end_poor.italic = false; end_poor.selectable = false; end_poor.underline = false; try { end_poor["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame50(){ __setProp_end_poor_won_clip_0_Layer6_36(); stop(); } function frame37(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame38(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame39(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame40(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame41(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame42(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame43(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame44(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame45(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame46(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame47(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame48(){ __setProp_end_poor_won_clip_0_Layer6_36(); } function frame49(){ __setProp_end_poor_won_clip_0_Layer6_36(); } } }//package Blocks_fla
Section 39
//won_clip_1_219 (Blocks_fla.won_clip_1_219) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_1_219 extends MovieClip { public var end_poor:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_1_219(){ __setPropDict = new Dictionary(true); super(); addFrameScript(70, frame71, 58, frame59, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70); } function __setProp_end_poor_won_clip_1_Layer6_58(){ if ((((__setPropDict[end_poor] == undefined)) || (!((((int(__setPropDict[end_poor]) >= 59)) && ((int(__setPropDict[end_poor]) <= 71))))))){ __setPropDict[end_poor] = currentFrame; try { end_poor["componentInspectorSetting"] = true; } catch(e:Error) { }; end_poor.text = "{end_poor}"; end_poor.textColor = 13158; end_poor.textSize = 22; end_poor.bold = false; end_poor.disableWordwrap = false; end_poor.embedFonts = true; end_poor.font = "Ultimatum"; end_poor.hAlign = "center"; end_poor.multiline = true; end_poor.vAlign = "top"; end_poor.antiAliasType = "advanced"; end_poor.glowBlur = 3; end_poor.glowColor = 0; end_poor.useGlowFilter = false; end_poor.glowQuality = 1; end_poor.glowStrength = 5; end_poor.gridFitType = "pixel"; end_poor.italic = false; end_poor.selectable = false; end_poor.underline = false; try { end_poor["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame71(){ __setProp_end_poor_won_clip_1_Layer6_58(); stop(); } function frame59(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame60(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame61(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame62(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame63(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame64(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame65(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame66(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame67(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame68(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame69(){ __setProp_end_poor_won_clip_1_Layer6_58(); } function frame70(){ __setProp_end_poor_won_clip_1_Layer6_58(); } } }//package Blocks_fla
Section 40
//won_clip_2_221 (Blocks_fla.won_clip_2_221) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_2_221 extends MovieClip { public var end_poor:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_2_221(){ __setPropDict = new Dictionary(true); super(); addFrameScript(89, frame90, 77, frame78, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89); } function __setProp_end_poor_won_clip_2_Layer6_77(){ if ((((__setPropDict[end_poor] == undefined)) || (!((((int(__setPropDict[end_poor]) >= 78)) && ((int(__setPropDict[end_poor]) <= 90))))))){ __setPropDict[end_poor] = currentFrame; try { end_poor["componentInspectorSetting"] = true; } catch(e:Error) { }; end_poor.text = "{end_poor}"; end_poor.textColor = 13158; end_poor.textSize = 22; end_poor.bold = false; end_poor.disableWordwrap = false; end_poor.embedFonts = true; end_poor.font = "Ultimatum"; end_poor.hAlign = "center"; end_poor.multiline = true; end_poor.vAlign = "top"; end_poor.antiAliasType = "advanced"; end_poor.glowBlur = 3; end_poor.glowColor = 0; end_poor.useGlowFilter = false; end_poor.glowQuality = 1; end_poor.glowStrength = 5; end_poor.gridFitType = "pixel"; end_poor.italic = false; end_poor.selectable = false; end_poor.underline = false; try { end_poor["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame90(){ __setProp_end_poor_won_clip_2_Layer6_77(); stop(); } function frame78(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame79(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame80(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame81(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame82(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame83(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame84(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame85(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame86(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame87(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame88(){ __setProp_end_poor_won_clip_2_Layer6_77(); } function frame89(){ __setProp_end_poor_won_clip_2_Layer6_77(); } } }//package Blocks_fla
Section 41
//won_clip_3_223 (Blocks_fla.won_clip_3_223) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_3_223 extends MovieClip { public var end_ok:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_3_223(){ __setPropDict = new Dictionary(true); super(); addFrameScript(89, frame90, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89); } function __setProp_end_ok_won_clip_3_Layer5_82(){ if ((((__setPropDict[end_ok] == undefined)) || (!((((int(__setPropDict[end_ok]) >= 83)) && ((int(__setPropDict[end_ok]) <= 90))))))){ __setPropDict[end_ok] = currentFrame; try { end_ok["componentInspectorSetting"] = true; } catch(e:Error) { }; end_ok.text = "{end_ok}"; end_ok.textColor = 13158; end_ok.textSize = 22; end_ok.bold = false; end_ok.disableWordwrap = false; end_ok.embedFonts = true; end_ok.font = "Ultimatum"; end_ok.hAlign = "center"; end_ok.multiline = true; end_ok.vAlign = "top"; end_ok.antiAliasType = "advanced"; end_ok.glowBlur = 3; end_ok.glowColor = 0; end_ok.useGlowFilter = false; end_ok.glowQuality = 1; end_ok.glowStrength = 5; end_ok.gridFitType = "pixel"; end_ok.italic = false; end_ok.selectable = false; end_ok.underline = false; try { end_ok["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame90(){ __setProp_end_ok_won_clip_3_Layer5_82(); stop(); } function frame83(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame84(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame85(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame86(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame87(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame88(){ __setProp_end_ok_won_clip_3_Layer5_82(); } function frame89(){ __setProp_end_ok_won_clip_3_Layer5_82(); } } }//package Blocks_fla
Section 42
//won_clip_4_226 (Blocks_fla.won_clip_4_226) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_4_226 extends MovieClip { public var end_ok:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_4_226(){ __setPropDict = new Dictionary(true); super(); addFrameScript(89, frame90, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89); } function __setProp_end_ok_won_clip_4_Layer5_81(){ if ((((__setPropDict[end_ok] == undefined)) || (!((((int(__setPropDict[end_ok]) >= 82)) && ((int(__setPropDict[end_ok]) <= 90))))))){ __setPropDict[end_ok] = currentFrame; try { end_ok["componentInspectorSetting"] = true; } catch(e:Error) { }; end_ok.text = "{end_ok}"; end_ok.textColor = 13158; end_ok.textSize = 22; end_ok.bold = false; end_ok.disableWordwrap = false; end_ok.embedFonts = true; end_ok.font = "Ultimatum"; end_ok.hAlign = "center"; end_ok.multiline = true; end_ok.vAlign = "top"; end_ok.antiAliasType = "advanced"; end_ok.glowBlur = 3; end_ok.glowColor = 0; end_ok.useGlowFilter = false; end_ok.glowQuality = 1; end_ok.glowStrength = 5; end_ok.gridFitType = "pixel"; end_ok.italic = false; end_ok.selectable = false; end_ok.underline = false; try { end_ok["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame90(){ __setProp_end_ok_won_clip_4_Layer5_81(); stop(); } function frame82(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame83(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame84(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame85(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame86(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame87(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame88(){ __setProp_end_ok_won_clip_4_Layer5_81(); } function frame89(){ __setProp_end_ok_won_clip_4_Layer5_81(); } } }//package Blocks_fla
Section 43
//won_clip_5_228 (Blocks_fla.won_clip_5_228) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_5_228 extends MovieClip { public var end_good:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_5_228(){ __setPropDict = new Dictionary(true); super(); addFrameScript(100, frame101, 93, frame94, 94, frame95, 95, frame96, 96, frame97, 97, frame98, 98, frame99, 99, frame100); } function __setProp_end_good_won_clip_5_Layer5_93(){ if ((((__setPropDict[end_good] == undefined)) || (!((((int(__setPropDict[end_good]) >= 94)) && ((int(__setPropDict[end_good]) <= 101))))))){ __setPropDict[end_good] = currentFrame; try { end_good["componentInspectorSetting"] = true; } catch(e:Error) { }; end_good.text = "{end_good}"; end_good.textColor = 13158; end_good.textSize = 22; end_good.bold = false; end_good.disableWordwrap = false; end_good.embedFonts = true; end_good.font = "Ultimatum"; end_good.hAlign = "center"; end_good.multiline = true; end_good.vAlign = "top"; end_good.antiAliasType = "advanced"; end_good.glowBlur = 3; end_good.glowColor = 0; end_good.useGlowFilter = false; end_good.glowQuality = 1; end_good.glowStrength = 5; end_good.gridFitType = "pixel"; end_good.italic = false; end_good.selectable = false; end_good.underline = false; try { end_good["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame101(){ __setProp_end_good_won_clip_5_Layer5_93(); stop(); } function frame94(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame95(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame96(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame97(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame98(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame99(){ __setProp_end_good_won_clip_5_Layer5_93(); } function frame100(){ __setProp_end_good_won_clip_5_Layer5_93(); } } }//package Blocks_fla
Section 44
//won_clip_6_232 (Blocks_fla.won_clip_6_232) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_6_232 extends MovieClip { public var end_good:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_6_232(){ __setPropDict = new Dictionary(true); super(); addFrameScript(112, frame113, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112); } function __setProp_end_good_won_clip_6_Layer5_105(){ if ((((__setPropDict[end_good] == undefined)) || (!((((int(__setPropDict[end_good]) >= 106)) && ((int(__setPropDict[end_good]) <= 113))))))){ __setPropDict[end_good] = currentFrame; try { end_good["componentInspectorSetting"] = true; } catch(e:Error) { }; end_good.text = "{end_good}"; end_good.textColor = 13158; end_good.textSize = 22; end_good.bold = false; end_good.disableWordwrap = false; end_good.embedFonts = true; end_good.font = "Ultimatum"; end_good.hAlign = "center"; end_good.multiline = true; end_good.vAlign = "top"; end_good.antiAliasType = "advanced"; end_good.glowBlur = 3; end_good.glowColor = 0; end_good.useGlowFilter = false; end_good.glowQuality = 1; end_good.glowStrength = 5; end_good.gridFitType = "pixel"; end_good.italic = false; end_good.selectable = false; end_good.underline = false; try { end_good["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame113(){ __setProp_end_good_won_clip_6_Layer5_105(); stop(); } function frame106(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame107(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame108(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame109(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame110(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame111(){ __setProp_end_good_won_clip_6_Layer5_105(); } function frame112(){ __setProp_end_good_won_clip_6_Layer5_105(); } } }//package Blocks_fla
Section 45
//won_clip_7_234 (Blocks_fla.won_clip_7_234) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_7_234 extends MovieClip { public var end_great:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_7_234(){ __setPropDict = new Dictionary(true); super(); addFrameScript(122, frame123, 113, frame114, 114, frame115, 115, frame116, 116, frame117, 117, frame118, 118, frame119, 119, frame120, 120, frame121, 121, frame122); } function __setProp_end_great_won_clip_7_Layer5_113(){ if ((((__setPropDict[end_great] == undefined)) || (!((((int(__setPropDict[end_great]) >= 114)) && ((int(__setPropDict[end_great]) <= 123))))))){ __setPropDict[end_great] = currentFrame; try { end_great["componentInspectorSetting"] = true; } catch(e:Error) { }; end_great.text = "{end_great}"; end_great.textColor = 13158; end_great.textSize = 22; end_great.bold = false; end_great.disableWordwrap = false; end_great.embedFonts = true; end_great.font = "Ultimatum"; end_great.hAlign = "center"; end_great.multiline = true; end_great.vAlign = "top"; end_great.antiAliasType = "advanced"; end_great.glowBlur = 3; end_great.glowColor = 0; end_great.useGlowFilter = false; end_great.glowQuality = 1; end_great.glowStrength = 5; end_great.gridFitType = "pixel"; end_great.italic = false; end_great.selectable = false; end_great.underline = false; try { end_great["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame123(){ __setProp_end_great_won_clip_7_Layer5_113(); stop(); } function frame114(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame115(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame116(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame117(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame118(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame119(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame120(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame121(){ __setProp_end_great_won_clip_7_Layer5_113(); } function frame122(){ __setProp_end_great_won_clip_7_Layer5_113(); } } }//package Blocks_fla
Section 46
//won_clip_8_239 (Blocks_fla.won_clip_8_239) package Blocks_fla { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class won_clip_8_239 extends MovieClip { public var end_perfect:LocalizedTextField; public var __setPropDict:Dictionary; public function won_clip_8_239(){ __setPropDict = new Dictionary(true); super(); addFrameScript(112, frame113, 103, frame104, 104, frame105, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112); } function __setProp_end_perfect_won_clip_8_Layer5_103(){ if ((((__setPropDict[end_perfect] == undefined)) || (!((((int(__setPropDict[end_perfect]) >= 104)) && ((int(__setPropDict[end_perfect]) <= 113))))))){ __setPropDict[end_perfect] = currentFrame; try { end_perfect["componentInspectorSetting"] = true; } catch(e:Error) { }; end_perfect.text = "{end_perfect}"; end_perfect.textColor = 13158; end_perfect.textSize = 22; end_perfect.bold = false; end_perfect.disableWordwrap = false; end_perfect.embedFonts = true; end_perfect.font = "Ultimatum"; end_perfect.hAlign = "center"; end_perfect.multiline = true; end_perfect.vAlign = "top"; end_perfect.antiAliasType = "advanced"; end_perfect.glowBlur = 3; end_perfect.glowColor = 0; end_perfect.useGlowFilter = false; end_perfect.glowQuality = 1; end_perfect.glowStrength = 5; end_perfect.gridFitType = "pixel"; end_perfect.italic = false; end_perfect.selectable = false; end_perfect.underline = false; try { end_perfect["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame113(){ __setProp_end_perfect_won_clip_8_Layer5_103(); stop(); } function frame104(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame105(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame106(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame107(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame108(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame109(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame110(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame111(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } function frame112(){ __setProp_end_perfect_won_clip_8_Layer5_103(); } } }//package Blocks_fla
Section 47
//won_star_clip_270 (Blocks_fla.won_star_clip_270) package Blocks_fla { import flash.display.*; public dynamic class won_star_clip_270 extends MovieClip { public function won_star_clip_270(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Blocks_fla
Section 48
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 49
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } } }//package Box2D.Collision.Shapes
Section 50
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var categoryBits:uint;// = 1 public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 51
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 52
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } } }//package Box2D.Collision.Shapes
Section 53
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_obb:b2OBB; public var m_vertices:Array; public var m_normals:Array; public var m_coreVertices:Array; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local3:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18 = -1; var _local19:int; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } override public function ComputeMass(_arg1:b2MassData):void{ var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function GetOBB():b2OBB{ return (m_obb); } public function GetCentroid():b2Vec2{ return (m_centroid); } public function GetVertexCount():int{ return (m_vertexCount); } public function GetVertices():Array{ return (m_vertices); } public function GetCoreVertices():Array{ return (m_coreVertices); } public function GetNormals():Array{ return (m_normals); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _local10 = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 54
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Shape { public var m_type:int; public var m_next:b2Shape; public var m_body:b2Body; public var m_sweepRadius:Number; public var m_density:Number; public var m_friction:Number; public var m_restitution:Number; public var m_proxyId:uint; public var m_filter:b2FilterData; public var m_isSensor:Boolean; public var m_userData; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_polygonShape:int = 1; public static const e_shapeTypeCount:int = 2; private static var s_proxyAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_resetAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function GetType():int{ return (m_type); } public function IsSensor():Boolean{ return (m_isSensor); } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function GetBody():b2Body{ return (m_body); } public function GetNext():b2Shape{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function ComputeMass(_arg1:b2MassData):void{ } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetFriction():Number{ return (m_friction); } public function GetRestitution():Number{ return (m_restitution); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } } }//package Box2D.Collision.Shapes
Section 55
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var type:int;// = -1 public var userData;// = null public var friction:Number;// = 0.2 public var restitution:Number;// = 0 public var density:Number;// = 0 public var isSensor:Boolean;// = false public var filter:b2FilterData; public function b2ShapeDef(){ filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 56
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var lowerBound:b2Vec2; public var upperBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 57
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } } }//package Box2D.Collision
Section 58
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 59
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_pairManager:b2PairManager; public var m_proxyPool:Array; public var m_freeProxy:uint; public var m_bounds:Array; public var m_queryResults:Array; public var m_queryResultCount:int; public var m_worldAABB:b2AABB; public var m_quantizationFactor:b2Vec2; public var m_proxyCount:int; public var m_timeStamp:uint; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; var _local4:Number = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; var _local10:int; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; var _local7:int; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public function Commit():void{ m_pairManager.Commit(); } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); var _local10:int; var _local11:int; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number = _arg3.lowerBound.x; var _local5:Number = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 60
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 61
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); var _local10:Number = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); var _local35:int; var _local36:int; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; var _local19:b2ManifoldPoint = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } } }//package Box2D.Collision
Section 62
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var features:Features; public var _key:uint; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 63
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var velocity:b2Vec2; public var normal:b2Vec2; public var separation:Number; public var friction:Number; public var restitution:Number; public var id:b2ContactID; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 64
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local35:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; var _local37:Number = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13 = 20; var _local14:int; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int = _arg3.m_type; var _local8:int = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } } }//package Box2D.Collision
Section 65
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var normal:b2Vec2; public var pointCount:int;// = 0 public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Reset():void{ var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } } }//package Box2D.Collision
Section 66
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var localPoint1:b2Vec2; public var localPoint2:b2Vec2; public var separation:Number; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } } }//package Box2D.Collision
Section 67
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 68
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var next:uint; public var status:uint; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairBuffered:uint = 1; public static var e_pairRemoved:uint = 2; public static var e_pairFinal:uint = 4; public function SetBuffered():void{ status = (status | e_pairBuffered); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } } }//package Box2D.Collision
Section 69
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairAdded(_arg1, _arg2){ return (null); } public function PairRemoved(_arg1, _arg2, _arg3):void{ } } }//package Box2D.Collision
Section 70
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_broadPhase:b2BroadPhase; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_freePair:uint; public var m_pairCount:int; public var m_pairBuffer:Array; public var m_pairBufferCount:int; public var m_hashTable:Array; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function ValidateBuffer():void{ } private function ValidateTable():void{ } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } } }//package Box2D.Collision
Section 71
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 72
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var lowerBounds:Array; public var upperBounds:Array; public var overlapCount:uint; public var timeStamp:uint; public var userData;// = null public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } } }//package Box2D.Collision
Section 73
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 74
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19 = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 75
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 76
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _incidentVertex:int; public var _flip:int; public var _m_id:b2ContactID; public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function get referenceEdge():int{ return (_referenceEdge); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } public function get incidentEdge():int{ return (_incidentEdge); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function get flip():int{ return (_flip); } } }//package Box2D.Collision
Section 77
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } public function Abs():void{ col1.Abs(); col2.Abs(); } } }//package Box2D.Common.Math
Section 78
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } } }//package Box2D.Common.Math
Section 79
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c0:b2Vec2; public var c:b2Vec2; public var a0:Number; public var a:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; var _local3:b2Mat22 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } } }//package Box2D.Common.Math
Section 80
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetZero():void{ x = 0; y = 0; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 81
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } } }//package Box2D.Common.Math
Section 82
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } } }//package Box2D.Common
Section 83
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const USHRT_MAX:int = 0xFFFF; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxPolygonVertices:int = 8; public static const b2_maxProxies:int = 0x0200; public static const b2_maxPairs:int = 4096; public static const b2_linearSlop:Number = 0.005; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_toiSlop:Number = 0.04; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_velocityThreshold:Number = 1; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearVelocitySquared:Number = 40000; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_timeToSleep:Number = 0.5; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 84
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); var _local7:b2ContactPoint = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 85
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Contact { public var m_flags:uint; public var m_prev:b2Contact; public var m_next:b2Contact; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_manifoldCount:int; public var m_friction:Number; public var m_restitution:Number; public var m_toi:Number; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_toiFlag:uint = 8; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function GetManifolds():Array{ return (null); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function InitializeRegisters():void{ var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } public static function Destroy(_arg1:b2Contact, _arg2):void{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _local5.destroyFcn; _local6(_arg1, _arg2); } } }//package Box2D.Dynamics.Contacts
Section 86
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var manifold:b2Manifold; public var body1:b2Body; public var body2:b2Body; public var friction:Number; public var restitution:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 87
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var r1:b2Vec2; public var r2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var positionImpulse:Number; public var normalMass:Number; public var tangentMass:Number; public var equalizedMass:Number; public var separation:Number; public var velocityBias:Number; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 88
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 89
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var createFcn:Function; public var destroyFcn:Function; public var primary:Boolean; } }//package Box2D.Dynamics.Contacts
Section 90
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var normal:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 91
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactSolver { public var m_step:b2TimeStep; public var m_allocator; public var m_constraints:Array; public var m_constraintCount:int; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; var _local9:int; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; var _local19:int; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local3:b2Mat22; var _local4:b2Vec2; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local2:Number = 0; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } } }//package Box2D.Dynamics.Contacts
Section 92
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package Box2D.Dynamics.Contacts
Section 93
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); var _local8:Array = [false, false]; var _local9:b2ContactPoint = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 94
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolygonContact extends b2Contact { private var m0:b2Manifold; private var m_manifolds:Array; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); var _local9:Array = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 95
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u:b2Vec2; public var m_frequencyHz:Number; public var m_dampingRatio:Number; public var m_gamma:Number; public var m_bias:Number; public var m_impulse:Number; public var m_mass:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function GetReactionTorque():Number{ return (0); } } }//package Box2D.Dynamics.Joints
Section 96
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length:Number; public var frequencyHz:Number; public var dampingRatio:Number; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 97
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_ground1:b2Body; public var m_ground2:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_revolute2:b2RevoluteJoint; public var m_prismatic2:b2PrismaticJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_J:b2Jacobian; public var m_constant:Number; public var m_ratio:Number; public var m_mass:Number; public var m_force:Number; public function b2GearJoint(_arg1:b2GearJointDef){ var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); var _local2:int = _arg1.joint1.m_type; var _local3:int = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function GetReactionTorque():Number{ var _local1:b2Mat22 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 98
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 99
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var angular1:Number; public var linear2:b2Vec2; public var angular2:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 100
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_type:int; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_body1:b2Body; public var m_body2:b2Body; public var m_inv_dt:Number; public var m_islandFlag:Boolean; public var m_collideConnected:Boolean; public var m_userData; public static const e_unknownJoint:int = 0; public static const e_revoluteJoint:int = 1; public static const e_prismaticJoint:int = 2; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_mouseJoint:int = 5; public static const e_gearJoint:int = 6; public static const e_inactiveLimit:int = 0; public static const e_atLowerLimit:int = 1; public static const e_atUpperLimit:int = 2; public static const e_equalLimits:int = 3; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetType():int{ return (m_type); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetReactionForce():b2Vec2{ return (null); } public function GetReactionTorque():Number{ return (0); } public function GetBody1():b2Body{ return (m_body1); } public function GetBody2():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public function SolvePositionConstraints():Boolean{ return (false); } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } public static function Destroy(_arg1:b2Joint, _arg2):void{ } } }//package Box2D.Dynamics.Joints
Section 101
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var type:int; public var userData; public var body1:b2Body; public var body2:b2Body; public var collideConnected:Boolean; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 102
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var joint:b2Joint; public var prev:b2JointEdge; public var next:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 103
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; public var m_localAnchor:b2Vec2; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_mass:b2Mat22; public var m_C:b2Vec2; public var m_maxForce:Number; public var m_beta:Number; public var m_gamma:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } override public function SolvePositionConstraints():Boolean{ return (true); } } }//package Box2D.Dynamics.Joints
Section 104
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var target:b2Vec2; public var maxForce:Number; public var frequencyHz:Number; public var dampingRatio:Number; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 105
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_localXAxis1:b2Vec2; public var m_localYAxis1:b2Vec2; public var m_refAngle:Number; public var m_linearJacobian:b2Jacobian; public var m_linearMass:Number; public var m_force:Number; public var m_angularMass:Number; public var m_torque:Number; public var m_motorJacobian:b2Jacobian; public var m_motorMass:Number; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_lowerTranslation:Number; public var m_upperTranslation:Number; public var m_maxMotorForce:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_enableMotor:Boolean; public var m_limitState:int; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function GetReactionTorque():Number{ return (m_torque); } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function GetMotorForce():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); var _local11:Number = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local28:Number = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 106
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerTranslation:Number; public var upperTranslation:Number; public var enableMotor:Boolean; public var maxMotorForce:Number; public var motorSpeed:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 107
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_ground:b2Body; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_constant:Number; public var m_ratio:Number; public var m_maxLength1:Number; public var m_maxLength2:Number; public var m_pulleyMass:Number; public var m_limitMass1:Number; public var m_limitMass2:Number; public var m_force:Number; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_positionImpulse:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_state:int; public var m_limitState1:int; public var m_limitState2:int; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function GetReactionTorque():Number{ return (0); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } public function GetLength1():Number{ var _local1:b2Vec2 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 108
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length1:Number; public var maxLength1:Number; public var length2:Number; public var maxLength2:Number; public var ratio:Number; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 109
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_pivotForce:b2Vec2; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_pivotMass:b2Mat22; public var m_motorMass:Number; public var m_enableMotor:Boolean; public var m_maxMotorTorque:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle:Number; public var m_limitState:int; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); var _local15:Number = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); var _local22:Number = tImpulse.x; var _local23:Number = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local24:Number = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 110
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerAngle:Number; public var upperAngle:Number; public var enableMotor:Boolean; public var motorSpeed:Number; public var maxMotorTorque:Number; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 111
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_flags:uint; public var m_type:int; public var m_xf:b2XForm; public var m_sweep:b2Sweep; public var m_linearVelocity:b2Vec2; public var m_angularVelocity:Number; public var m_force:b2Vec2; public var m_torque:Number; public var m_world:b2World; public var m_prev:b2Body; public var m_next:b2Body; public var m_shapeList:b2Shape; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var m_contactList:b2ContactEdge; public var m_mass:Number; public var m_invMass:Number; public var m_I:Number; public var m_invI:Number; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_sleepTime:Number; public var m_userData; private static var s_massData:b2MassData = new b2MassData(); private static var s_xf1:b2XForm = new b2XForm(); public static var e_frozenFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_sleepFlag:uint = 8; public static var e_allowSleepFlag:uint = 16; public static var e_bulletFlag:uint = 32; public static var e_fixedRotationFlag:uint = 64; public static var e_staticType:uint = 1; public static var e_dynamicType:uint = 2; public static var e_maxTypes:uint = 3; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function DestroyShape(_arg1:b2Shape):void{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; var _local5:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; var _local7:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); var _local6:Boolean; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetXForm():b2XForm{ return (m_xf); } public function GetPosition():b2Vec2{ return (m_xf.position); } public function GetAngle():Number{ return (m_sweep.a); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetMass():Number{ return (m_mass); } public function GetInertia():Number{ return (m_I); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetShapeList():b2Shape{ return (m_shapeList); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function GetNext():b2Body{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetWorld():b2World{ return (m_world); } public function SynchronizeShapes():Boolean{ var _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); var _local5:Boolean; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } } }//package Box2D.Dynamics
Section 112
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var massData:b2MassData; public var userData; public var position:b2Vec2; public var angle:Number; public var linearDamping:Number; public var angularDamping:Number; public var allowSleep:Boolean; public var isSleeping:Boolean; public var fixedRotation:Boolean; public var isBullet:Boolean; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Box2D.Dynamics
Section 113
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 114
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 115
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 116
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_nullContact:b2NullContact; public var m_destroyImmediate:Boolean; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; var _local7:b2Contact = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 117
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import flash.display.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2DebugDraw { public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_alpha:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_xformScale:Number;// = 1 public static var e_shapeBit:uint = 1; public static var e_jointBit:uint = 2; public static var e_coreShapeBit:uint = 4; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_centerOfMassBit:uint = 64; public function b2DebugDraw(){ m_drawFlags = 0; } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function GetFlags():uint{ return (m_drawFlags); } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } } }//package Box2D.Dynamics
Section 118
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 119
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var m_allocator; public var m_listener:b2ContactListener; public var m_bodies:Array; public var m_contacts:Array; public var m_joints:Array; public var m_bodyCount:int; public var m_jointCount:int; public var m_contactCount:int; public var m_bodyCapacity:int; public var m_contactCapacity:int; public var m_jointCapacity:int; public var m_positionIterationCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; var _local8:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 = m_joints[_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; Report(_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; var _local4:int; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } } }//package Box2D.Dynamics
Section 120
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var dt:Number; public var inv_dt:Number; public var dtRatio:Number; public var maxIterations:int; public var warmStarting:Boolean; public var positionCorrection:Boolean; } }//package Box2D.Dynamics
Section 121
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var m_blockAllocator; public var m_stackAllocator; public var m_lock:Boolean; public var m_broadPhase:b2BroadPhase; public var m_contactManager:b2ContactManager; public var m_bodyList:b2Body; public var m_jointList:b2Joint; public var m_contactList:b2Contact; public var m_bodyCount:int; public var m_contactCount:int; public var m_jointCount:int; public var m_gravity:b2Vec2; public var m_allowSleep:Boolean; public var m_groundBody:b2Body; public var m_destructionListener:b2DestructionListener; public var m_boundaryListener:b2BoundaryListener; public var m_contactFilter:b2ContactFilter; public var m_contactListener:b2ContactListener; public var m_debugDraw:b2DebugDraw; public var m_inv_dt0:Number; public var m_positionIterationCount:int; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); private static var s_xf:b2XForm = new b2XForm(); public static var m_positionCorrection:Boolean; public static var m_warmStarting:Boolean; public static var m_continuousPhysics:Boolean; public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function Validate():void{ m_broadPhase.Validate(); } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (m_lock == true){ return (null); }; var _local2:b2Body = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function DestroyBody(_arg1:b2Body):void{ var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local5:b2Body; var _local6:b2Shape; var _local2:Boolean = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } public function GetContactCount():int{ return (m_contactCount); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function Step(_arg1:Number, _arg2:int):void{ m_lock = true; var _local3:b2TimeStep = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetJointList():b2Joint{ return (m_jointList); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; var _local5:b2Color = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } } }//package Box2D.Dynamics
Section 122
//AwardsService (com.spilgames.api.AwardsService) package com.spilgames.api { public class AwardsService { public static function submitAward(_arg1:String, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Awards", "submitAward", _arg2, {tag:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 123
//SpilGamesServices (com.spilgames.api.SpilGamesServices) package com.spilgames.api { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class SpilGamesServices extends MovieClip { private const DEFAULT_CONNECTION_LOCATION:String = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"; private var _servicesConnection;// = null private var _loader:Loader; private var _connecting:Boolean;// = false private var _connected:Boolean;// = false private var _request:URLRequest; private var _numConnectionLoadTries:uint;// = 0 private var _alwaysInFront:Boolean;// = false private var currentDelay:Number;// = 0 private var previousFrameTime:Number; public static const INVALID_ID:int = -1; public static const INVALID_DOMAIN:String = "invalidDomain"; public static const CONFIGURATION_FAILED:String = "configurationFailure"; private static const MAX_CONNECTION_LOAD_RETRIES:uint = 99; private static var _instance:SpilGamesServices = null; public function SpilGamesServices(_arg1:Private=null){ if (!_arg1){ throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance")); }; } public function get version():String{ return ("1.1"); } public function get connecting():Boolean{ return (_connecting); } public function get connection(){ return (_servicesConnection); } public function set alwaysInFront(_arg1:Boolean):void{ if (_alwaysInFront != _arg1){ _alwaysInFront = _arg1; if (_alwaysInFront){ addEventListener(Event.ENTER_FRAME, bringToFront); } else { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function get alwaysInFront():Boolean{ return (_alwaysInFront); } public function connect(_arg1:DisplayObjectContainer, ... _args):void{ var _local3:String; var _local4:URLVariables; var _local5:Date; if (((!(_connecting)) && (!(_connected)))){ if (!_arg1.stage){ throw (new Error("The given clip must be present in the display list (added to stage)")); }; _connecting = true; _arg1.stage.addChild(this); addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){ _local3 = root.loaderInfo.parameters["servicesLoc"]; _request = new URLRequest(_local3); } else { _local3 = DEFAULT_CONNECTION_LOCATION; _local4 = new URLVariables(); _local5 = new Date(); _local4.nocache = ((((_local5.fullYear * 12) + (_local5.month + 1)) * 31) + _local5.day); _request = new URLRequest(_local3); _request.data = _local4; }; allowDomain(_local3); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); _loader.load(_request); }; } public function disconnect():void{ if (_servicesConnection){ _servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.removeEventListener("serviceError", handleServiceError); if (_connected){ _servicesConnection.disconnect(); }; removeChild(_servicesConnection); }; _servicesConnection = null; if (_loader){ try { _loader.close(); } catch(e:Error) { } finally { _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); }; _loader = null; }; removeEventListener(Event.ENTER_FRAME, bringToFront); removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (parent){ parent.removeChild(this); }; _connected = (_connecting = false); } public function getChannelID():int{ if (_servicesConnection != null){ return (_servicesConnection.getChannelID()); }; return (INVALID_ID); } public function getSiteID():int{ if (_servicesConnection != null){ return (_servicesConnection.getSiteID()); }; return (INVALID_ID); } public function getItemID():int{ if (_servicesConnection != null){ return (_servicesConnection.getItemID()); }; return (INVALID_ID); } public function isReady():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isReady()))); } public function isDomainAllowed():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid()))); } public function isServiceAvailable(_arg1:String):Boolean{ return (((isReady()) && (_servicesConnection.isServiceAvailable(_arg1)))); } public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{ if (isReady()){ return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4)); }; return (INVALID_ID); } public function bringToFront(_arg1:Event=null):void{ var e = _arg1; if (parent){ try { parent.setChildIndex(this, (parent.numChildren - 1)); } catch(e:Error) { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function allowDomain(_arg1:String):void{ Security.allowDomain("*"); Security.allowInsecureDomain("*"); } private function handleRemovedFromStage(_arg1:Event):void{ trace("WARNING: please do not remove SpilGamesServices from the stage"); } private function handleLoadComplete(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _servicesConnection = LoaderInfo(_arg1.target).content; _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); addChild(_servicesConnection); } private function handleIOError(_arg1:IOErrorEvent):void{ _numConnectionLoadTries++; if (_numConnectionLoadTries > MAX_CONNECTION_LOAD_RETRIES){ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connecting = false; trace("ERROR: SpilGamesServices failed to load the connection object"); if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); }; } else { trace(("WARN: SpilGamesServices failed to load the connection object, retry #" + _numConnectionLoadTries)); previousFrameTime = getTimer(); addEventListener(Event.ENTER_FRAME, updateConnectionRetry); }; } private function updateConnectionRetry(_arg1:Event):void{ var _local2:Number = getTimer(); var _local3:Number = ((_local2 - previousFrameTime) / 1000); currentDelay = (currentDelay + _local3); if (currentDelay >= 2){ trace(("WARN: SpilGamesServices trying to reconnect after: " + currentDelay)); _loader.load(_request); removeEventListener(Event.ENTER_FRAME, updateConnectionRetry); currentDelay = 0; }; previousFrameTime = _local2; } private function handleServicesReady(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connected = true; _connecting = false; dispatchEvent(new Event("servicesReady")); } private function handleServicesFailed(_arg1:ErrorEvent):void{ _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); _connecting = false; if (hasEventListener("servicesFailed")){ dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text)); }; } private function handleServiceError(_arg1:Event):void{ var _local2:String; if (hasEventListener("serviceError")){ _local2 = ""; if ((_arg1 is ErrorEvent)){ _local2 = ErrorEvent(_arg1).text; } else { _local2 = _arg1.toString(); }; dispatchEvent(new ErrorEvent("serviceError", false, false, _local2)); }; } public static function getInstance():SpilGamesServices{ if (!_instance){ _instance = new SpilGamesServices(new Private()); }; return (_instance); } } }//package com.spilgames.api class Private { private function Private(){ } }
Section 124
//User (com.spilgames.api.User) package com.spilgames.api { import flash.display.*; public class User { public static function isGuest():Boolean{ var _local2:DisplayObject; var _local3:Object; var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.isGuest()); }; _local2 = SpilGamesServices.getInstance().root; if (_local2.loaderInfo != null){ _local3 = _local2.loaderInfo.parameters; return (((((((!(_local3.username)) || ((_local3.username == "")))) || (!(_local3.hash)))) || ((_local3.hash == "")))); }; return (false); } public static function getUserName():String{ var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserName()); }; return (""); } public static function getUserHash():String{ var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserHash()); }; return (""); } } }//package com.spilgames.api
Section 125
//MyContactListener (Simulation.MyContactListener) package Simulation { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import flash.utils.*; public class MyContactListener extends b2ContactListener { private var parameters:Parameters; private var impulse:Number; public function MyContactListener(){ parameters = new Parameters(); super(); } override public function Result(_arg1:b2ContactResult):void{ if ((((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Bomb")) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Bomb")))){ if ((((((((((((((((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Devil")))) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Simple")))) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Devil")))){ _arg1.shape1.GetBody().m_userData.exploded(); _arg1.shape2.GetBody().m_userData.exploded(); }; }; if ((((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Star")) || ((getQualifiedClassName(_arg1.shape2.GetBody().m_userData) == "Star")))){ if ((((((((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.shape1.GetBody().m_userData) == "Devil")))){ _arg1.shape2.GetBody().m_userData.collected(); }; }; } } }//package Simulation
Section 126
//Parameters (Simulation.Parameters) package Simulation { public class Parameters { public const ACTIVATE_GIRLS:Boolean = true; public const STAGE_WIDTH:Number = 550; public const STAGE_HEIGHT:Number = 400; public const SIMULATOR_FRAME_RATE:Number = 30; public const SIMULATOR_WORLD_SIZE:Number = 4500; public const SIMULATOR_GRAVITY:Number = 30; public const INPUT_MOUSE_DRAG:Boolean = true; public const INPUT_DRAG_FORCE:Number = 180; public const INPUT_MAX_FORCE:Number = 200; public const INPUT_MOUSE_RADIUS:Number = 16; public const COLLISION_IMPULSE_THRESHOLD:Number = 10; public const LEVELBOX_FRICTION:Number = 0.3; public const LEVELBOX_RESTITUTION:Number = 0; public const BOMBBOX_NOT_EXPLODED_FRAME:int = 1; public const BOMBBOX_EXPLODED_FRAME:int = 2; public const STARBOX_NOT_COLLECTED_FRAME:int = 1; public const STARBOX_COLLECTED_FRAME:int = 2; public const HULKBOX_FRICTION:Number = 0.3; public const HULKBOX_RESTITUTION:Number = 0; public const SIMPLEBOX_FRICTION:Number = 0.5; public const SIMPLEBOX_RESTITUTION:Number = 0.2; public const SIMPLEBOX_DENSITY:Number = 1; public const SIMPLEBOX_NOTONGOAL_FRAME:int = 1; public const SIMPLEBOX_ONGOAL_FRAME:int = 5; public const SIMPLEBOX_EXPLODED_FRAME:int = 10; public const TECHBOX_FRICTION:Number = 0.3; public const TECHBOX_RESTITUTION:Number = 0; public const TECHBOX_DENSITY:Number = 2; public const TECHBOX_LINEAR_DAMPING:Number = 0.1; public const TECHBOX_ANGULAR_DAMPING:Number = 0.1; public const TECHBOX_NOTONGOAL_FRAME:int = 1; public const TECHBOX_ONGOAL_FRAME:int = 1; public const TECHBOX_EXPLODED_FRAME:int = 5; public const GIRLBOX_FRICTION:Number = 0.5; public const GIRLBOX_RESTITUTION:Number = 0.2; public const GIRLBOX_DENSITY:Number = 1; public const GIRLBOX_MAX_COLLISIONS:Number = 60; public const GIRLBOX_HAPPY_NOTONGOAL_FRAME:int = 1; public const GIRLBOX_UNHAPPY_NOTONGOAL_FRAME:int = 5; public const GIRLBOX_HAPPY_ONGOAL_FRAME:int = 10; public const GIRLBOX_UNHAPPY_ONGOAL_FRAME:int = 15; public const GIRLBOX_EXPLODED_FRAME:int = 20; public const GIRLBOX_PROXIMITY:Number = 0.01; public const DEVILBOX_FRICTION:Number = 0.3; public const DEVILBOX_RESTITUTION:Number = 0; public const DEVILBOX_DENSITY:Number = 1; public const DEVILBOX_MIN_COLLISIONS:Number = 60; public const DEVILBOX_HAPPY_NOTONGOAL_FRAME:int = 1; public const DEVILBOX_UNHAPPY_NOTONGOAL_FRAME:int = 5; public const DEVILBOX_HAPPY_ONGOAL_FRAME:int = 10; public const DEVILBOX_UNHAPPY_ONGOAL_FRAME:int = 15; public const DEVILBOX_EXPLODED_FRAME:int = 15; public const EYES_AVERAGE_FOLLOW:Number = 3; public const EYES_AVERAGE_STARE:Number = 1; public const EYES_RADIUS:Number = 2; public function Parameters():void{ } } }//package Simulation
Section 127
//Simulator (Simulation.Simulator) package Simulation { import flash.display.*; import flash.events.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.media.*; import flash.utils.*; import flash.net.*; public class Simulator extends MovieClip { private const FRAME_RATE:Number = 30; private const WORLD_FACTOR:Number = 10; private const WORLD_LIMIT:Number = 225; private const m_timeStep:Number = 0.0333333333333333; private var debugon:Boolean;// = false public var my_info:SharedObject; public var gotoPage:int;// = 1 private var parameters:Parameters; private var simulationTimer:Timer; private var inputStarted:Boolean;// = false private var aiming:Boolean;// = false private var pointWorld:b2Vec2; private var pointStage:b2Vec2; private var force:b2Vec2; private var targetBody:b2Body;// = null private var forceLength:Number;// = 1 private var dot:Dot; private var dotPlaced:Boolean;// = false private var pointer:Pointer; private var pointerPlaced:Boolean;// = false private var m_world:b2World; private var contactListener:MyContactListener; private var gravity:b2Vec2; private var corner1:b2Vec2; private var corner2:b2Vec2; private var corner3:b2Vec2; private var corner4:b2Vec2; private var centerX; private var centerY; private var angle; private var halfWidth; private var halfHeight:Number; private var m_mouseJoint:b2MouseJoint; private var cloudTime:int;// = 0 private var cloudDelay:int;// = 0 private var cloudDistance:Number;// = 0.2 private var m_sprite:Sprite; private var totalCollectedStars:int;// = 0 private var starCollectedThisLevel:Boolean;// = false private var mySound:Boolean;// = true public var musicOn:Boolean;// = true public var sfxOn:Boolean;// = true private var currentStage:int;// = 6 private var menumusic:MenuMusic; private var gamemusic:GameplayMusic; private var victorymusic:VictoryMusic; private var failmusic:FailMusic; private var explosion:ExplodeSound; private var normalTalk1:NormalTalk1; private var normalTalk2:NormalTalk2; private var girltalk1:GirlTalk1; private var girltalk2:GirlTalk2; private var girltalk3:GirlTalk3; private var normalTalk3:NormalTalk3; private var techtalk:TechSound; private var deviltalk:DevilSound; private var yeysound:BoxYeySound; private var owsound:BoxOwSound; private var sndMusicChannel:SoundChannel; private var sndSFXChannel:SoundChannel; private var sndSFXChannel2:SoundChannel; private var muteAll:SoundTransform; var resetButton:Reset_Button; var skipButton:Skip_Button; var pauseMenu:Pause_Menu; private var playerWon:Boolean;// = false private var wonPopUp:WonPopUp; private var transitionOut:Transition_Out; private var lostPopUp:LostPopUp; public function Simulator(){ my_info = SharedObject.getLocal("blocks"); parameters = new Parameters(); simulationTimer = new Timer((1000 / FRAME_RATE), 0); pointWorld = new b2Vec2(0, 0); pointStage = new b2Vec2(0, 0); force = new b2Vec2(0, 0); dot = new Dot(); pointer = new Pointer(); gravity = new b2Vec2(0, parameters.SIMULATOR_GRAVITY); corner1 = new b2Vec2(0, 0); corner2 = new b2Vec2(0, 0); corner3 = new b2Vec2(0, 0); corner4 = new b2Vec2(0, 0); menumusic = new MenuMusic(); gamemusic = new GameplayMusic(); victorymusic = new VictoryMusic(); failmusic = new FailMusic(); explosion = new ExplodeSound(); normalTalk1 = new NormalTalk1(); normalTalk2 = new NormalTalk2(); girltalk1 = new GirlTalk1(); girltalk2 = new GirlTalk2(); girltalk3 = new GirlTalk3(); normalTalk3 = new NormalTalk3(); techtalk = new TechSound(); deviltalk = new DevilSound(); yeysound = new BoxYeySound(); owsound = new BoxOwSound(); muteAll = new SoundTransform(); resetButton = new Reset_Button(); skipButton = new Skip_Button(); pauseMenu = new Pause_Menu(); wonPopUp = new WonPopUp(); transitionOut = new Transition_Out(); lostPopUp = new LostPopUp(); super(); if (isDebugOn()){ trace("DEBUG MODE ON"); }; if (my_info.data.stage_variable != undefined){ load_SO(); } else { init_SO(); }; createWorld(); simulationTimer.addEventListener(TimerEvent.TIMER, updateWorld); } public function isDebugOn():Boolean{ return (debugon); } public function setGoto(_arg1:int):void{ gotoPage = _arg1; } public function getPage():int{ return (gotoPage); } public function muteMusic():void{ musicOn = false; muteAll.volume = 0; sndMusicChannel.soundTransform = muteAll; } public function muteSFX():void{ sfxOn = false; muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } public function unMuteMusic():void{ musicOn = true; muteAll.volume = 1; sndMusicChannel.soundTransform = muteAll; } public function unMuteSFX():void{ sfxOn = true; muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; } public function playBoxTalk1():void{ sndSFXChannel = normalTalk1.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playGirlTalk1():void{ sndSFXChannel = girltalk1.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playGirlTalk2():void{ sndSFXChannel = girltalk2.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playGirlTalk3():void{ sndSFXChannel = girltalk3.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playBoxTalk2():void{ sndSFXChannel = normalTalk2.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playBoxTalk3():void{ sndSFXChannel = normalTalk3.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playDevilTalk():void{ sndSFXChannel = deviltalk.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playTechTalk():void{ sndSFXChannel = techtalk.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playExplosionSound():void{ sndSFXChannel = explosion.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel.soundTransform = muteAll; }; } public function playYeySound():void{ sndSFXChannel2 = yeysound.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel2.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel2.soundTransform = muteAll; }; } public function playOwSound():void{ sndSFXChannel2 = owsound.play(); if (!sfxOn){ muteAll.volume = 0; sndSFXChannel2.soundTransform = muteAll; } else { muteAll.volume = 1; sndSFXChannel2.soundTransform = muteAll; }; } public function playVictoryMusic():void{ sndMusicChannel = victorymusic.play(); if (!musicOn){ muteAll.volume = 0; sndMusicChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndMusicChannel.soundTransform = muteAll; }; } public function playFailMusic():void{ sndMusicChannel = failmusic.play(); if (!musicOn){ muteAll.volume = 0; sndMusicChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndMusicChannel.soundTransform = muteAll; }; } public function playGameMusic():void{ sndMusicChannel = gamemusic.play(0, 9999); if (!musicOn){ muteAll.volume = 0; sndMusicChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndMusicChannel.soundTransform = muteAll; }; } public function playMenuMusic():void{ sndMusicChannel = menumusic.play(0, 300); if (!musicOn){ muteAll.volume = 0; sndMusicChannel.soundTransform = muteAll; } else { muteAll.volume = 1; sndMusicChannel.soundTransform = muteAll; }; } public function stopSFX():void{ sndSFXChannel.stop(); } public function stopMusic():void{ sndMusicChannel.stop(); } public function init_SO():void{ currentStage = 6; totalCollectedStars = 0; mySound = true; my_info.data.stage_variable = 6; my_info.data.star_variable = 0; my_info.data.sound_on = true; my_info.flush(); trace("Initialised Shared Object"); } private function load_SO():void{ currentStage = my_info.data.stage_variable; totalCollectedStars = my_info.data.star_variable; mySound = my_info.data.sound_on; trace("Loaded Shared Object"); trace(("Stage= " + currentStage)); } private function update_SO(_arg1:int, _arg2:int, _arg3:Boolean):void{ my_info.data.stage_variable = (_arg1 + 1); my_info.data.star_variable = _arg2; my_info.data.sound_on = _arg3; my_info.flush(); trace(("StageVar= " + _arg1)); trace("Updated Shared Object"); } public function getTotalStars():int{ return (totalCollectedStars); } public function pleaseGotoNextFrame():void{ var _local1:MovieClip = MovieClip(stage.getChildAt(0)); totalCollectedStars = (totalCollectedStars - 1); if (totalCollectedStars <= 0){ totalCollectedStars = 0; }; update_SO(_local1.currentFrame, totalCollectedStars, mySound); stage.dispatchEvent(new Event("LevelCompleted")); } public function skipLevel():void{ endSimulation(); pleaseGotoNextFrame(); } public function beginSimulation():void{ createWorld(); populateWorld(); mouseInputStart(); simulationStart(); playGameMusic(); } public function pauseSimulation():void{ simulationStop(); mouseInputStop(); } public function continueSimulation():void{ mouseInputStart(); simulationStart(); } public function endSimulation():void{ simulationStop(); mouseInputStop(); resetWorld(); depopulateWorld(); m_world = null; starCollectedThisLevel = false; } private function activatePopUp(){ var _local1:MovieClip = MovieClip(stage.getChildAt(0)); simulationStop(); mouseInputStop(); transitionOut.x = 274; transitionOut.y = 184; _local1.addChild(transitionOut); transitionOut.gotoAndPlay(2); stopMusic(); if (playerWon){ playVictoryMusic(); playYeySound(); wonPopUp.levelEndStars.text = String(totalCollectedStars); wonPopUp.x = (parameters.STAGE_WIDTH / 2); wonPopUp.y = (parameters.STAGE_HEIGHT / 2); _local1.addChild(wonPopUp); wonPopUp.addEventListener(MouseEvent.CLICK, deactivatePopUp); update_SO(_local1.currentFrame, totalCollectedStars, mySound); }; if (!playerWon){ playFailMusic(); lostPopUp.x = (parameters.STAGE_WIDTH / 2); lostPopUp.y = (parameters.STAGE_HEIGHT / 2); _local1.addChild(lostPopUp); lostPopUp.addEventListener(MouseEvent.CLICK, deactivatePopUp); }; } private function deactivatePopUp(_arg1:MouseEvent){ var _local2:MovieClip = MovieClip(stage.getChildAt(0)); resetWorld(); depopulateWorld(); m_world = null; _local2.removeChild(transitionOut); stopMusic(); if (playerWon){ wonPopUp.removeEventListener(MouseEvent.CLICK, deactivatePopUp); _local2.removeChild(wonPopUp); stage.dispatchEvent(new Event("LevelCompleted")); pauseMenu.gotoAndStop("Reset"); }; if (!playerWon){ lostPopUp.removeEventListener(MouseEvent.CLICK, deactivatePopUp); _local2.removeChild(lostPopUp); stage.dispatchEvent(new Event("LevelMissed")); }; } private function simulationStart():void{ simulationTimer.start(); } private function simulationStop():void{ simulationTimer.stop(); } private function mouseInputStart():void{ if (!inputStarted){ stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener); stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener); inputStarted = true; }; } private function mouseInputStop():void{ if (inputStarted){ stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener); stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpListener); inputStarted = false; cancelAim(); }; } private function mouseDownListener(_arg1:MouseEvent){ var _local2:b2MouseJointDef; if (aiming){ cancelAim(); } else { pointStage.Set(_arg1.stageX, _arg1.stageY); pointWorld = getMouseLocation(_arg1); targetBody = getBodyAt(pointWorld); if (!parameters.INPUT_MOUSE_DRAG){ force.SetZero(); if (targetBody){ aiming = true; placeDot(); placePointer(); _arg1.updateAfterEvent(); }; } else { if (targetBody){ if (!getMeshAt(pointWorld)){ aiming = true; _local2 = new b2MouseJointDef(); _local2.body1 = m_world.GetGroundBody(); _local2.body2 = targetBody; _local2.target.Set(pointWorld.x, pointWorld.y); _local2.maxForce = (parameters.INPUT_DRAG_FORCE * targetBody.GetMass()); _local2.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local2) as b2MouseJoint); targetBody.WakeUp(); }; }; }; }; } private function cancelAim(){ if (aiming){ aiming = false; if (!parameters.INPUT_MOUSE_DRAG){ removeDot(); removePointer(); } else { if (m_mouseJoint){ m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; }; }; }; } private function mouseMoveListener(_arg1:MouseEvent){ if (aiming){ if (!parameters.INPUT_MOUSE_DRAG){ getForceAt(_arg1); placePointer(); _arg1.updateAfterEvent(); } else { pointWorld = getMouseLocation(_arg1); if (getMeshAt(pointWorld)){ cancelAim(); } else { m_mouseJoint.SetTarget(pointWorld); }; }; }; } private function mouseUpListener(_arg1:MouseEvent){ if (aiming){ cancelAim(); if (!parameters.INPUT_MOUSE_DRAG){ getForceAt(_arg1); targetBody.ApplyForce(force, pointWorld); _arg1.updateAfterEvent(); }; }; } private function placeDot():void{ if (!dotPlaced){ stage.addChild(dot); dotPlaced = true; }; dot.x = pointStage.x; dot.y = pointStage.y; } private function removeDot():void{ if (dotPlaced){ stage.removeChild(dot); dotPlaced = false; }; } private function placePointer():void{ if (!pointerPlaced){ stage.addChild(pointer); pointerPlaced = true; }; pointer.x = pointStage.x; pointer.y = pointStage.y; pointer.rotation = ((Math.atan2(force.y, force.x) * 180) / Math.PI); pointer.scaleX = (force.Length() / parameters.INPUT_MAX_FORCE); } private function removePointer():void{ if (pointerPlaced){ stage.removeChild(pointer); pointerPlaced = false; }; } private function getMouseLocation(_arg1:MouseEvent):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(((_arg1.stageX - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.stageY - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); return (_local2); } private function getBodyAt(_arg1:b2Vec2, _arg2:Boolean=false):b2Body{ var _local9:b2Shape; var _local10:Boolean; var _local3:b2AABB = new b2AABB(); _local3.lowerBound.Set((_arg1.x - 0.001), (_arg1.y - 0.001)); _local3.upperBound.Set((_arg1.x + 0.001), (_arg1.y + 0.001)); var _local4 = 10; var _local5:Array = new Array(); var _local6:int = m_world.Query(_local3, _local5, _local4); var _local7:b2Body; var _local8:int; while (_local8 < _local6) { if ((((_local5[_local8].GetBody().IsStatic() == false)) || (_arg2))){ _local9 = (_local5[_local8] as b2Shape); _local10 = (_local5[_local8] as b2Shape).TestPoint(_local9.GetBody().GetXForm(), _arg1); if (_local10){ _local7 = _local9.GetBody(); break; }; }; _local8++; }; return (_local7); } private function getMeshAt(_arg1:b2Vec2):Boolean{ var _local8:b2Shape; var _local9:Boolean; var _local2:b2AABB = new b2AABB(); _local2.lowerBound.Set((_arg1.x - 0.001), (_arg1.y - 0.001)); _local2.upperBound.Set((_arg1.x + 0.001), (_arg1.y + 0.001)); var _local3 = 10; var _local4:Array = new Array(); var _local5:int = m_world.Query(_local2, _local4, _local3); var _local6:b2Body; var _local7:int; while (_local7 < _local5) { _local8 = (_local4[_local7] as b2Shape); _local9 = (_local4[_local7] as b2Shape).TestPoint(_local8.GetBody().GetXForm(), _arg1); if (_local9){ if (getQualifiedClassName(_local8.GetBody().m_userData) == "Mesh"){ return (true); }; }; _local7++; }; return (false); } private function wellOutOfBounds(_arg1:b2Body):void{ if ((((((((getQualifiedClassName(_arg1.m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.m_userData) == "Devil")))){ if ((((((_arg1.m_userData.y > (parameters.STAGE_HEIGHT + 540))) || ((_arg1.m_userData.x < -500)))) || ((_arg1.m_userData.x > (parameters.STAGE_HEIGHT + 500))))){ trace("Restart Level - Failure"); _arg1.m_userData.exploded(); }; if (getQualifiedClassName(_arg1.m_userData) == "Tech"){ if (_arg1.m_userData.y < -80){ trace("Restart Level - Failure"); _arg1.m_userData.exploded(); }; }; }; } private function checkOutOfBounds(_arg1:b2Body):void{ if ((((((((getQualifiedClassName(_arg1.m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.m_userData) == "Devil")))){ if ((((((((_arg1.m_userData.x > (parameters.STAGE_WIDTH + (_arg1.m_userData.width / 2)))) || ((_arg1.m_userData.x < (0 - (_arg1.m_userData.width / 2)))))) || ((_arg1.m_userData.y > (parameters.STAGE_HEIGHT + (_arg1.m_userData.height / 2)))))) || ((_arg1.m_userData.y < (0 - (_arg1.m_userData.height / 2)))))){ _arg1.m_userData.isOutOfBounds = true; cancelAim(); } else { _arg1.m_userData.isOutOfBounds = false; }; }; } private function checkGirlsTouch(_arg1:b2Body):void{ checkTouchAt(corner1, _arg1); checkTouchAt(corner2, _arg1); checkTouchAt(corner3, _arg1); checkTouchAt(corner4, _arg1); } private function checkTouchAt(_arg1:b2Vec2, _arg2:b2Body):void{ var _local9:b2Shape; var _local3:b2AABB = new b2AABB(); _local3.lowerBound.Set((_arg1.x - parameters.GIRLBOX_PROXIMITY), (_arg1.y - parameters.GIRLBOX_PROXIMITY)); _local3.upperBound.Set((_arg1.x + parameters.GIRLBOX_PROXIMITY), (_arg1.y + parameters.GIRLBOX_PROXIMITY)); var _local4 = 20; var _local5:Array = new Array(); var _local6:int = m_world.Query(_local3, _local5, _local4); var _local7:b2Body; var _local8:int; while (_local8 < _local6) { _local9 = (_local5[_local8] as b2Shape); if (!_local9.GetBody().m_userData.name.match(_arg2.m_userData.name)){ if (((((((((!((getQualifiedClassName(_local9.GetBody().m_userData) == "Level"))) && (!((getQualifiedClassName(_local9.GetBody().m_userData) == "Goal"))))) && (!((getQualifiedClassName(_local9.GetBody().m_userData) == "Star"))))) && (!((getQualifiedClassName(_local9.GetBody().m_userData) == "Mesh"))))) && (!((getQualifiedClassName(_local9.GetBody().m_userData) == "Bomb"))))){ _local9.GetBody().m_userData.isTouching(); _arg2.m_userData.isTouching(); }; }; _local8++; }; } private function getForceAt(_arg1:MouseEvent){ force.Set((_arg1.stageX - pointStage.x), (_arg1.stageY - pointStage.y)); forceLength = force.Normalize(); forceLength = (forceLength / parameters.INPUT_MOUSE_RADIUS); if (forceLength > 1){ forceLength = 1; }; force.Multiply((parameters.INPUT_MAX_FORCE * forceLength)); trace(("force:" + force)); } private function createWorld(){ var _local3:b2DebugDraw; var _local4:Sprite; var _local1:b2AABB = new b2AABB(); _local1.lowerBound.Set(-(WORLD_LIMIT), -(WORLD_LIMIT)); _local1.upperBound.Set(WORLD_LIMIT, WORLD_LIMIT); var _local2:Boolean; m_world = new b2World(_local1, gravity, _local2); if (debugon){ m_sprite = new Sprite(); addChild(m_sprite); _local3 = new b2DebugDraw(); _local4 = new Sprite(); m_sprite.addChild(_local4); _local3.m_sprite = m_sprite; _local3.m_drawScale = 30; _local3.m_alpha = 1; _local3.m_fillAlpha = 0.5; _local3.m_lineThickness = 1; _local3.m_drawFlags = ((((((b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit) | b2DebugDraw.e_coreShapeBit) | b2DebugDraw.e_aabbBit) | b2DebugDraw.e_obbBit) | b2DebugDraw.e_pairBit) | b2DebugDraw.e_centerOfMassBit); m_world.SetDebugDraw(_local3); }; contactListener = new MyContactListener(); m_world.SetContactListener(contactListener); } private function populateWorld(){ var _local1:MovieClip = MovieClip(stage.getChildAt(0)); var _local2:int; while (_local2 < _local1.numChildren) { if (String(_local1.getChildAt(_local2).name).match("Level")){ createLevelBox(_local1.getChildAt(_local2)); }; if (String(_local1.getChildAt(_local2).name).match("Goal")){ createGoalBox(_local1.getChildAt(_local2)); }; if (String(_local1.getChildAt(_local2).name).match("Mesh")){ createMeshBox(_local1.getChildAt(_local2)); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Simple"){ createSimpleBox(Simple(_local1.getChildAt(_local2))); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Devil"){ createDevilBox(Devil(_local1.getChildAt(_local2))); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Tech"){ createTechBox(Tech(_local1.getChildAt(_local2))); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Girl"){ createGirlBox(Girl(_local1.getChildAt(_local2))); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Bomb"){ createBombBox(Bomb(_local1.getChildAt(_local2))); }; if (getQualifiedClassName(_local1.getChildAt(_local2)) == "Star"){ createStarBox(Star(_local1.getChildAt(_local2))); }; _local2++; }; _local1.addChild(pauseMenu); } private function depopulateWorld(){ var _local3:b2Body; var _local1:MovieClip = MovieClip(stage.getChildAt(0)); if (debugon){ m_sprite.graphics.clear(); }; var _local2:b2Body = m_world.m_bodyList; while (_local2) { _local3 = _local2.GetNext(); if ((_local2.m_userData is MovieClip)){ _local2.m_userData = null; m_world.DestroyBody(_local2); }; _local2 = _local2.m_next; }; _local1.removeChild(pauseMenu); } private function moveClouds(){ var _local1:MovieClip = MovieClip(stage.getChildAt(0)); var _local2:int; while (_local2 < 2) { if (_local1.getChildByName(("cloud_" + _local2)) != null){ _local1.getChildByName(("cloud_" + _local2)).x = (_local1.getChildByName(("cloud_" + _local2)).x + cloudDistance); if (_local1.getChildByName(("cloud_" + _local2)).x > (parameters.STAGE_WIDTH + 5)){ _local1.getChildByName(("cloud_" + _local2)).x = (0 - _local1.getChildByName(("cloud_" + _local2)).width); }; }; _local2++; }; } private function updateWorld(_arg1:TimerEvent):void{ var _local9:b2Vec2; if (targetBody != null){ checkOutOfBounds(targetBody); }; if (debugon){ m_world.DrawDebugData(); }; if (cloudTime++ > cloudDelay){ cloudTime = 0; moveClouds(); }; var _local2:b2Body = m_world.m_bodyList; while (_local2) { if (getQualifiedClassName(_local2.m_userData) == "Tech"){ _local9 = new b2Vec2(0, ((-1 * _local2.GetMass()) * parameters.SIMULATOR_GRAVITY)); _local2.ApplyForce(_local9, _local2.GetWorldCenter()); }; _local2 = _local2.m_next; }; var _local3 = 10; var _local4:Boolean; m_world.Step(m_timeStep, _local3); var _local5:b2Body = m_world.m_bodyList; while (_local5) { if ((_local5.m_userData is MovieClip)){ _local4 = false; _local5.m_userData.x = ((_local5.GetPosition().x * WORLD_FACTOR) + (parameters.STAGE_WIDTH / 2)); _local5.m_userData.y = ((_local5.GetPosition().y * WORLD_FACTOR) + (parameters.STAGE_HEIGHT / 2)); _local5.m_userData.rotation = (_local5.GetAngle() * (180 / Math.PI)); _local5.m_userData.processCollisions(); checkStar(_local5); checkGoal(_local5); wellOutOfBounds(_local5); if (((((((((((!((getQualifiedClassName(_local5.m_userData) == "Level"))) && (!((getQualifiedClassName(_local5.m_userData) == "Goal"))))) && (!((getQualifiedClassName(_local5.m_userData) == "Star"))))) && (!((getQualifiedClassName(_local5.m_userData) == "Bomb"))))) && (!((getQualifiedClassName(_local5.m_userData) == "Mesh"))))) && (!((_local5.m_userData == null))))){ if (_local5.m_userData.eyes != null){ _local5.m_userData.eyes.updateEyes(); }; if (parameters.ACTIVATE_GIRLS){ getCorners(_local5); checkGirlsTouch(_local5); }; }; if (_local5.m_userData != null){ if (!_local4){ _local5.m_userData.updateState(); }; }; }; _local5 = _local5.m_next; }; var _local6:Boolean; var _local7:Boolean; var _local8:b2Body = m_world.m_bodyList; while (_local8) { if ((((((getQualifiedClassName(_local8.m_userData) == "Simple")) || ((getQualifiedClassName(_local8.m_userData) == "Tech")))) || ((getQualifiedClassName(_local8.m_userData) == "Devil")))){ _local6 = ((_local6) && (_local8.m_userData.isOnGoal)); }; if (getQualifiedClassName(_local8.m_userData) == "Girl"){ _local6 = ((_local6) && (_local8.m_userData.isOnGoal)); _local6 = ((_local6) && (_local8.m_userData.isHappy)); }; if ((((((((getQualifiedClassName(_local8.m_userData) == "Simple")) || ((getQualifiedClassName(_local8.m_userData) == "Tech")))) || ((getQualifiedClassName(_local8.m_userData) == "Devil")))) || ((getQualifiedClassName(_local8.m_userData) == "Girl")))){ _local7 = ((_local7) || (_local8.m_userData.isExploded)); }; _local8 = _local8.m_next; }; if (_local7){ playerWon = false; activatePopUp(); } else { if (_local6){ playerWon = true; if (starCollectedThisLevel){ totalCollectedStars = (totalCollectedStars + 1); starCollectedThisLevel = false; }; activatePopUp(); }; }; } private function resetWorld():void{ stopMusic(); var _local1:b2Body = m_world.m_bodyList; while (_local1) { if ((_local1.m_userData is MovieClip)){ _local1.m_userData.x = _local1.m_userData.originalX; _local1.m_userData.y = _local1.m_userData.originalY; _local1.m_userData.rotation = _local1.m_userData.originalRotation; _local1.m_userData.resetState(); }; _local1 = _local1.m_next; }; } private function createLevelBox(_arg1){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); var _local5:Level = new Level(); _local5.originalX = _arg1.x; _local5.originalY = _arg1.y; _local5.originalRotation = _arg1.rotation; _local3.userData = _local5; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = parameters.LEVELBOX_FRICTION; _local4.restitution = parameters.LEVELBOX_RESTITUTION; _local4.density = 0; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createGoalBox(_arg1){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); var _local5:Goal = new Goal(); _local5.originalX = _arg1.x; _local5.originalY = _arg1.y; _local5.originalRotation = _arg1.rotation; _local3.userData = _local5; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = 0; _local4.restitution = 0; _local4.density = 0; _local4.isSensor = true; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createStarBox(_arg1:Star){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); var _local5:Star = new Star(); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = 0; _local4.restitution = 0; _local4.density = 0; _local4.isSensor = true; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createBombBox(_arg1:Bomb){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); var _local5:Bomb = new Bomb(); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = 0; _local4.restitution = 0; _local4.density = 0; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createMeshBox(_arg1){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); var _local5:Mesh = new Mesh(); _local5.originalX = _arg1.x; _local5.originalY = _arg1.y; _local5.originalRotation = _arg1.rotation; _local3.userData = _local5; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = 0; _local4.restitution = 0; _local4.density = 0; _local4.isSensor = true; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createSimpleBox(_arg1:Simple){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = parameters.SIMPLEBOX_FRICTION; _local4.restitution = parameters.SIMPLEBOX_RESTITUTION; _local4.density = parameters.SIMPLEBOX_DENSITY; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createGirlBox(_arg1:Girl){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = parameters.GIRLBOX_FRICTION; _local4.restitution = parameters.GIRLBOX_RESTITUTION; _local4.density = parameters.GIRLBOX_DENSITY; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createTechBox(_arg1:Tech){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local3.linearDamping = parameters.TECHBOX_LINEAR_DAMPING; _local3.angularDamping = parameters.TECHBOX_ANGULAR_DAMPING; _local4.friction = parameters.TECHBOX_FRICTION; _local4.restitution = parameters.TECHBOX_RESTITUTION; _local4.density = parameters.TECHBOX_DENSITY; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function createDevilBox(_arg1:Devil){ var _local2:b2Body; var _local3:b2BodyDef = new b2BodyDef(); var _local4:b2PolygonDef = new b2PolygonDef(); _local3.position.Set(((_arg1.x - (parameters.STAGE_WIDTH / 2)) / WORLD_FACTOR), ((_arg1.y - (parameters.STAGE_HEIGHT / 2)) / WORLD_FACTOR)); _local3.angle = ((_arg1.rotation * Math.PI) / 180); _arg1.originalX = _arg1.x; _arg1.originalY = _arg1.y; _arg1.originalRotation = _arg1.rotation; _local3.userData = _arg1; _local2 = m_world.CreateBody(_local3); _local4.SetAsBox(((trueWidth(_arg1) / 2) / WORLD_FACTOR), ((trueHeight(_arg1) / 2) / WORLD_FACTOR)); _local4.friction = parameters.DEVILBOX_FRICTION; _local4.restitution = parameters.DEVILBOX_RESTITUTION; _local4.density = parameters.DEVILBOX_DENSITY; _local2.CreateShape(_local4); _local2.SetMassFromShapes(); } private function trueWidth(_arg1:MovieClip):Number{ var _local2:Number = _arg1.rotation; _arg1.rotation = (_arg1.rotation - _local2); var _local3:Number = _arg1.width; _arg1.rotation = _local2; return (_local3); } private function trueHeight(_arg1:MovieClip):Number{ var _local2:Number = _arg1.rotation; _arg1.rotation = (_arg1.rotation - _local2); var _local3:Number = _arg1.height; _arg1.rotation = _local2; return (_local3); } private function getCorners(_arg1:b2Body):void{ centerX = _arg1.GetPosition().x; centerY = _arg1.GetPosition().y; angle = _arg1.GetAngle(); halfWidth = ((trueWidth(_arg1.m_userData) / WORLD_FACTOR) / 2); halfHeight = ((trueHeight(_arg1.m_userData) / WORLD_FACTOR) / 2); corner1.Set(((centerX + (halfWidth * Math.cos((angle - (Math.PI / 4))))) - (halfHeight * Math.sin((angle - (Math.PI / 4))))), ((centerY + (halfWidth * Math.sin((angle - (Math.PI / 4))))) + (halfHeight * Math.cos((angle - (Math.PI / 4)))))); corner2.Set(((centerX + (halfWidth * Math.cos((angle - ((Math.PI * 3) / 4))))) - (halfHeight * Math.sin((angle - ((Math.PI * 3) / 4))))), ((centerY + (halfWidth * Math.sin((angle - ((Math.PI * 3) / 4))))) + (halfHeight * Math.cos((angle - ((Math.PI * 3) / 4)))))); corner3.Set(((centerX + (halfWidth * Math.cos((angle - ((Math.PI * 5) / 4))))) - (halfHeight * Math.sin((angle - ((Math.PI * 5) / 4))))), ((centerY + (halfWidth * Math.sin((angle - ((Math.PI * 5) / 4))))) + (halfHeight * Math.cos((angle - ((Math.PI * 5) / 4)))))); corner4.Set(((centerX + (halfWidth * Math.cos((angle - ((Math.PI * 7) / 4))))) - (halfHeight * Math.sin((angle - ((Math.PI * 7) / 4))))), ((centerY + (halfWidth * Math.sin((angle - ((Math.PI * 7) / 4))))) + (halfHeight * Math.cos((angle - ((Math.PI * 7) / 4)))))); } private function checkStar(_arg1:b2Body):void{ var _local2:b2Body; if ((((((((getQualifiedClassName(_arg1.m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.m_userData) == "Devil")))){ _local2 = m_world.m_bodyList; while (_local2) { if (getQualifiedClassName(_local2.m_userData) == "Star"){ if (!_local2.m_userData.isCollected){ if (_local2.GetShapeList().TestPoint(_local2.GetXForm(), new b2Vec2(_arg1.GetPosition().x, _arg1.GetPosition().y))){ _local2.m_userData.collected(); starCollectedThisLevel = true; }; }; }; _local2 = _local2.m_next; }; }; } private function checkGoal(_arg1:b2Body):void{ var _local2:Boolean; var _local3:b2Body; if ((((((((getQualifiedClassName(_arg1.m_userData) == "Simple")) || ((getQualifiedClassName(_arg1.m_userData) == "Tech")))) || ((getQualifiedClassName(_arg1.m_userData) == "Girl")))) || ((getQualifiedClassName(_arg1.m_userData) == "Devil")))){ _local2 = false; _local3 = m_world.m_bodyList; while (_local3) { if (((!(_local2)) && ((getQualifiedClassName(_local3.m_userData) == "Goal")))){ if (_local3.GetShapeList().TestPoint(_local3.GetXForm(), new b2Vec2(_arg1.GetPosition().x, _arg1.GetPosition().y))){ _local2 = true; }; }; _local3 = _local3.m_next; }; if (((_arg1.m_userData.isOnGoal) && (!(_local2)))){ _arg1.m_userData.isOnGoal = false; _arg1.m_userData.stateChanged = true; }; if (((!(_arg1.m_userData.isOnGoal)) && (_local2))){ _arg1.m_userData.isOnGoal = true; _arg1.m_userData.stateChanged = true; }; }; } public function getCurrentStage():int{ return (currentStage); } } }//package Simulation
Section 128
//Brand (spill.localisation.Brand) package spill.localisation { import flash.xml.*; public class Brand { public var domain:String; public var site_id:uint; public var moreLink:String;// = "" public var emailLink:String;// = "game" public var emailPage:String; public var id:Number; public var name:String; public var portalGroup:uint; public var useGoogleAnalitics:Boolean;// = true public var hasSendToFriendLink:Boolean;// = true public var preferedLanguage:String;// = "" public var isExternal:Boolean;// = false public var hostingDomain:String;// = "" private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in"); public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{ var _local5:String = ("http://" + domain); _local5 = (_local5 + ("/" + moreLink)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg3 = stripSubDomain(_arg3); if (_arg3 == "localhost"){ _arg3 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg3)); if (((!((_arg4 == ""))) && (!((_arg4 == null))))){ _local5 = (_local5 + ("&utm_content=" + _arg4)); }; }; return (_local5); } public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{ if (!hasSendToFriendLink){ return (getMoreGamesLink(_arg1, _arg3)); }; var _local5:String = ("http://" + domain); _local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg4)); _local5 = (_local5 + "&utm_content=send_to_friend"); }; return (_local5); } public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{ var _local6:String = ("http://" + domain); _local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local6 = (_local6 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); trace(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local6 = (_local6 + ("&utm_source=" + _arg4)); if (((!((_arg5 == ""))) && (!((_arg5 == null))))){ _local6 = (_local6 + ("&utm_content=" + _arg5)); }; }; return (_local6); } public function get backgroundColor():uint{ return (PortalGroup.backgroundColors[portalGroup]); } public function exportXML():XML{ var _local3:XML; var _local1:XML = <portal/> ; _local1.@id = site_id; _local1.@language = preferedLanguage; _local1.@channel = portalGroup; var _local2:XML = <domain/> ; _local2.appendChild(new XMLNode(3, domain)); _local1.appendChild(_local2); if (moreLink){ _local3 = <more_games_path/> ; _local3.appendChild(new XMLNode(3, moreLink)); _local1.appendChild(_local3); }; _local2 = <game_path/> ; _local2.appendChild(new XMLNode(3, emailLink)); _local1.appendChild(_local2); if (!useGoogleAnalitics){ _local1.attributes.noGoogleAnalitics = true; }; if (!hasSendToFriendLink){ _local1.attributes.noSendToFriendLink = true; }; return (_local1); } public function importXML(_arg1:XMLNode):void{ } private function get utm_source():String{ return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal")); } private function get utm_term():String{ return ("utm_term="); } private function get utm_campaign():String{ if (isExternal){ return (("utm_campaign=" + hostingDomain)); }; return (""); } public static function stripSubDomain(_arg1:String):String{ if (!_arg1){ return (""); }; var _local2:Array = _arg1.split("."); if (_local2.length <= 2){ return (_arg1); }; _local2 = _local2.reverse(); if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){ return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0])); }; return (((_local2[1] + ".") + _local2[0])); } } }//package spill.localisation
Section 129
//BrandingLogo (spill.localisation.BrandingLogo) package spill.localisation { import flash.display.*; import flash.events.*; public class BrandingLogo extends MovieClip { public function BrandingLogo(){ addFrameScript(0, frame1); super(); stop(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); if (stage){ added(); }; brandingChanged(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true); brandingChanged(); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("brandingChanged", brandingChanged); } private function brandingChanged(_arg1:Event=null):void{ if (SpilGame.currentBranding){ gotoAndStop(SpilGame.currentBranding.domain); }; } function frame1(){ stop(); } } }//package spill.localisation
Section 130
//Brandings (spill.localisation.Brandings) package spill.localisation { public class Brandings { private static var brands_by_id:Object = new Object(); private static var brands_by_domain:Object = new Object(); public static function initialize():void{ var _local1:Brand; _local1 = new Brand(); _local1.site_id = 79; _local1.domain = "www.agame.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 88; _local1.domain = "www.gamesgames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 90; _local1.domain = "www.girlsgogames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 45; _local1.domain = "www.a10.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.YOUNG_ADULTS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 92; _local1.domain = "www.games.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 107; _local1.domain = "www.agame.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 102; _local1.domain = "www.girlsgogames.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 2; _local1.domain = "www.game.com.cn"; _local1.moreLink = "moregames/"; _local1.preferedLanguage = "cn"; _local1.portalGroup = PortalGroup.NONE; _local1.useGoogleAnalitics = false; _local1.hasSendToFriendLink = false; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 25; _local1.domain = "www.spel.nl"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 1; _local1.domain = "www.spelletjes.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 93; _local1.domain = "www.girlsgogames.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 12; _local1.domain = "www.jeu.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 95; _local1.domain = "www.girlsgogames.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 11; _local1.domain = "www.jeux.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 26; _local1.domain = "www.spielen.com"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 94; _local1.domain = "www.girlsgogames.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 5; _local1.domain = "www.jetztspielen.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 109; _local1.domain = "www.minigry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 16; _local1.domain = "www.gry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 98; _local1.domain = "www.girlsgogames.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 108; _local1.domain = "www.spel.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 100; _local1.domain = "www.girlsgogames.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 44; _local1.domain = "www.spela.se"; _local1.emailLink = "spel_"; _local1.preferedLanguage = "se"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 106; _local1.domain = "www.giocaregratis.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 15; _local1.domain = "www.gioco.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 99; _local1.domain = "www.girlsgogames.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 97; _local1.domain = "www.zapjuegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 86; _local1.domain = "www.juegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 96; _local1.domain = "www.juegosdechicas.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 122; _local1.domain = "www.girlsgogames.es"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 125; _local1.domain = "www.juegos.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 126; _local1.domain = "www.juegosdechicas.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 127; _local1.domain = "www.juegos.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 128; _local1.domain = "www.juegosdechicas.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 91; _local1.domain = "www.clickjogos.com"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 101; _local1.domain = "www.girlsgogames.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 50; _local1.domain = "www.ojogos.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 55; _local1.domain = "www.games.co.id"; _local1.emailLink = "permainanme"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "id"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 105; _local1.domain = "www.flashgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 104; _local1.domain = "www.girlsgogames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 103; _local1.domain = "www.ourgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 24; _local1.domain = "www.game.co.in"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "in"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 87; _local1.domain = "www.ojogos.pt"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pt"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 120; _local1.domain = "www.egames.jp"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "jp"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 121; _local1.domain = "www.dailygame.com"; _local1.emailLink = "/game/"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 123; _local1.domain = "www.zapapa.com"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.ZAPAPA; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 124; _local1.domain = "www.zapapa.nl"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.HYVES; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 0; _local1.domain = "gamedev.dev.spilgames.com"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); } public static function hasDomain(_arg1:String):Boolean{ return (!((brands_by_domain[_arg1] == null))); } public static function getBrandByDomain(_arg1:String):Brand{ return (brands_by_domain[_arg1]); } public static function getBrandByID(_arg1:Number):Brand{ return (brands_by_id[_arg1]); } private static function addBrand(_arg1:Brand):Brand{ if (brands_by_domain[_arg1.domain]){ trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain)); } else { brands_by_domain[_arg1.domain] = _arg1; }; if (brands_by_id[_arg1.site_id]){ trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id)); } else { brands_by_id[_arg1.site_id] = _arg1; }; return (_arg1); } public static function getBrandsArray():Array{ var _local2:Brand; var _local1:Array = new Array(); for each (_local2 in brands_by_domain) { _local1.push(_local2); }; return (_local1); } public static function exportXML():XML{ var _local2:Brand; var _local1:XML = <portals/> ; for each (_local2 in brands_by_domain) { _local1.appendChild(_local2.exportXML()); }; return (_local1); } } }//package spill.localisation
Section 131
//Language (spill.localisation.Language) package spill.localisation { import flash.xml.*; public class Language { public var name:String; public var dname:String; public var id:uint; public var portal_groups:Array; public var textLanguage:String; public var embedFonts:Boolean;// = true public var embedInputFonts:Boolean;// = true public var forceFont:String;// = null public var bwcId:int; public var references:Array; public var displayName:String;// = "" public function Language(_arg1:String, _arg2:String=null){ references = []; super(); name = _arg1; dname = _arg2; portal_groups = new Array(); } public function get displayAcronim():String{ return ((dname) ? dname : name); } public function set p_family(_arg1:String):void{ portal_groups[PortalGroup.FAMILY] = _arg1; } public function get p_family():String{ return (portal_groups[PortalGroup.FAMILY]); } public function set p_tween(_arg1:String):void{ portal_groups[PortalGroup.TEENS] = _arg1; } public function get p_tween():String{ return (portal_groups[PortalGroup.TEENS]); } public function set p_girl(_arg1:String):void{ portal_groups[PortalGroup.GIRL] = _arg1; } public function get p_girl():String{ trace("Language", portal_groups[PortalGroup.GIRL]); return (portal_groups[PortalGroup.GIRL]); } public function set p_teen(_arg1:String):void{ portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1; } public function get p_teen():String{ return (portal_groups[PortalGroup.YOUNG_ADULTS]); } public function set p_zapapa(_arg1:String):void{ portal_groups[PortalGroup.ZAPAPA] = _arg1; } public function get p_zapapa():String{ return (portal_groups[PortalGroup.ZAPAPA]); } public function set p_hyves(_arg1:String):void{ portal_groups[PortalGroup.HYVES] = _arg1; } public function get p_hyves():String{ return (portal_groups[PortalGroup.HYVES]); } public function exportXML():XMLNode{ var _local1:XMLNode = new XMLNode(1, "language"); _local1.attributes.name = name; if (textLanguage != null){ _local1.attributes.textLanguage = textLanguage; }; if (references.length){ _local1.attributes.references = references.toString(); }; _local1.attributes.id = bwcId; var _local2:XMLNode = new XMLNode(1, "display_name"); _local2.firstChild = new XMLNode(3, displayName); _local1.appendChild(_local2); var _local3:Array = []; var _local4:Array = PortalGroup.channelNames; var _local5:int; while (_local5 < _local4.length) { _local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id); _local5++; }; _local1.attributes.channels = _local3.join(","); return (_local1); } } }//package spill.localisation
Section 132
//Languages (spill.localisation.Languages) package spill.localisation { import flash.xml.*; public class Languages { public static var languages:Object = new Object(); private static var _init:Boolean = false; public static function initialize():void{ var _local1:Language; if (_init){ return; }; _init = true; _local1 = new Language("nl"); _local1.displayName = "Nederlands"; _local1.p_family = "www.spelletjes.nl"; _local1.p_tween = "www.spel.nl"; _local1.p_girl = "www.girlsgogames.nl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.p_hyves = "www.zapapa.nl"; _local1.bwcId = 3; addLanguage(_local1); _local1 = new Language("es"); _local1.displayName = "Español"; _local1.p_family = "www.juegos.com"; _local1.p_tween = "www.zapjuegos.com"; _local1.p_girl = "www.girlsgogames.es"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 9; addLanguage(_local1); _local1 = new Language("pl"); _local1.displayName = "Polski"; _local1.p_family = "www.gry.pl"; _local1.p_tween = "www.gry.pl"; _local1.p_girl = "www.girlsgogames.pl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 6; addLanguage(_local1); _local1 = new Language("fr"); _local1.displayName = "Français"; _local1.p_family = "www.jeux.fr"; _local1.p_tween = "www.jeu.fr"; _local1.p_girl = "www.girlsgogames.fr"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 4; addLanguage(_local1); _local1 = new Language("en_us", "us"); _local1.displayName = "English"; _local1.p_family = "www.gamesgames.com"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 1; addLanguage(_local1); addReference(_local1, "en"); _local1 = new Language("id"); _local1.displayName = "Bahasa Ind."; _local1.p_family = "www.games.co.id"; _local1.p_tween = "www.games.co.id"; _local1.p_girl = "www.games.co.id"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 11; addLanguage(_local1); _local1 = new Language("ru"); _local1.displayName = "Русский"; _local1.p_family = "www.ourgames.ru"; _local1.p_tween = "www.flashgames.ru"; _local1.p_girl = "www.girlsgogames.ru"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 12; addLanguage(_local1); _local1 = new Language("se"); _local1.displayName = "Svenska"; _local1.p_family = "www.spela.se"; _local1.p_tween = "www.spel.se"; _local1.p_girl = "www.girlsgogames.se"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 7; addLanguage(_local1); addReference(_local1, "sv"); _local1 = new Language("it"); _local1.displayName = "Italiano"; _local1.p_family = "www.gioco.it"; _local1.p_tween = "www.gioco.it"; _local1.p_girl = "www.girlsgogames.it"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 8; addLanguage(_local1); _local1 = new Language("en_uk", "uk"); _local1.displayName = "English"; _local1.p_family = "www.games.co.uk"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.co.uk"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 13; addLanguage(_local1); _local1 = new Language("cn"); _local1.displayName = "中文"; _local1.p_family = "www.game.com.cn"; _local1.p_tween = "www.game.com.cn"; _local1.p_girl = "www.game.com.cn"; _local1.p_teen = "www.game.com.cn"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 2; _local1.embedInputFonts = false; addLanguage(_local1); addReference(_local1, "zh-CN"); addReference(_local1, "zh-TW"); _local1 = new Language("pt"); _local1.displayName = "Português"; _local1.p_family = "www.ojogos.pt"; _local1.p_tween = "www.ojogos.pt"; _local1.p_girl = "www.ojogos.pt"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 17; addLanguage(_local1); _local1 = new Language("in"); _local1.displayName = "English"; _local1.p_family = "www.game.co.in"; _local1.p_tween = "www.game.co.in"; _local1.p_girl = "www.game.co.in"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.textLanguage = "en_uk"; _local1.bwcId = 14; addLanguage(_local1); _local1 = new Language("de"); _local1.displayName = "Deutsch"; _local1.p_family = "www.jetztspielen.de"; _local1.p_tween = "www.spielen.com"; _local1.p_girl = "www.girlsgogames.de"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 5; addLanguage(_local1); _local1 = new Language("br"); _local1.displayName = "Português (BR)"; _local1.p_family = "www.ojogos.com.br"; _local1.p_tween = "www.clickjogos.com"; _local1.p_girl = "www.girlsgogames.com.br"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 10; addLanguage(_local1); _local1 = new Language("jp"); _local1.displayName = "日本語"; _local1.p_family = "www.egames.jp"; _local1.p_tween = "www.egames.jp"; _local1.p_girl = "www.egames.jp"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.embedInputFonts = false; _local1.bwcId = 19; addLanguage(_local1); addReference(_local1, "ja"); _local1 = new Language("ar"); _local1.displayName = "English"; _local1.p_family = "www.dailygame.com"; _local1.p_tween = "www.dailygame.com"; _local1.p_girl = "www.dailygame.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 20; addLanguage(_local1); addReference(_local1, "ar"); _local1 = new Language("es_mx", "mx"); _local1.displayName = "Español (mx)"; _local1.p_family = "www.juegos.mx"; _local1.p_tween = "www.juegos.mx"; _local1.p_girl = "www.juegosdechicas.mx"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "mx"); _local1 = new Language("es_ar", "arg"); _local1.displayName = "Español (ar)"; _local1.p_family = "www.juegos.com.ar"; _local1.p_tween = "www.juegos.com.ar"; _local1.p_girl = "www.juegosdechicas.com.ar"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "arg"); } private static function addReference(_arg1:Language, _arg2:String):void{ languages[_arg2] = _arg1; _arg1.references.push(_arg2); } private static function addLanguage(_arg1:Language):void{ languages[_arg1.name] = _arg1; } public static function getLanguage(_arg1:String):Language{ return (languages[_arg1]); } public static function getLanguageByOldID(_arg1:int):Language{ var _local2:Language; for each (_local2 in languages) { if (_local2.bwcId == _arg1){ return (_local2); }; }; return (null); } public static function getLanguagesArray():Array{ var _local3:Language; var _local1:Array = new Array(); var _local2:Object = new Object(); for each (_local3 in languages) { if (!_local2[_local3.name]){ _local1.push(_local3); _local2[_local3.name] = true; }; }; return (_local1); } public static function exportXML():XMLNode{ var _local3:Language; var _local1:Array = getLanguagesArray(); var _local2:XMLNode = new XMLNode(1, "languages"); for each (_local3 in _local1) { _local2.appendChild(_local3.exportXML()); }; return (_local2); } } }//package spill.localisation
Section 133
//LanguageSelectBox (spill.localisation.LanguageSelectBox) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; public class LanguageSelectBox extends MovieClip { private var popup:MovieClip; private var flag:MovieClip; private var languageName_text:TextField; private var mc:MovieClip; public function LanguageSelectBox(){ trace("new langselecbox"); super(); if (numChildren > 0){ removeChildAt(0); }; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true); Languages.initialize(); popup = new LanguageSelectPopup_mc(); x = Math.round(x); y = Math.round(y); popup.y = (-(Math.floor(popup.height)) + 1); popup.visible = false; addChild(popup); mc = new LanguageSelectBox_mc(); addChild(mc); flag = mc.flag; languageName_text = mc.languageName_text; if (stage){ added(); }; init(); languageChanged(); } public function init():void{ var _local3:MovieClip; var _local4:Language; trace("initselectbox"); var _local1:Array = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar); var _local2:int; while (_local2 < _local1.length) { _local3 = MovieClip(_local1[_local2]); if (_local3){ _local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true); _local3.flag.gotoAndStop(_local3.name.substr(2)); _local3.flag.mouseEnabled = false; _local3.text.mouseEnabled = false; _local4 = Languages.getLanguage(_local3.name.substr(2)); if (_local4){ _local3.text.text = _local4.displayAcronim; } else { trace((("Error, '" + _local3.name.substr(2)) + "' language not found")); }; } else { trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'")); }; _local2++; }; } private function itemClicked(_arg1:MouseEvent):void{ SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2)); popup.visible = false; } private function mouseOver(_arg1:MouseEvent):void{ popup.visible = true; } private function mouseOut(_arg1:MouseEvent):void{ popup.visible = false; } private function added(_arg1:Event=null):void{ trace("addedselebnox"); SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function languageChanged(_arg1:Event=null):void{ if (SpilGame.currentLanguage){ if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){ this.visible = false; return; }; this.visible = true; flag.gotoAndStop(SpilGame.currentLanguage.name); languageName_text.text = SpilGame.currentLanguage.displayName; languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts; }; } public function set popupLocation(_arg1:String):void{ trace(("popupLocation = " + _arg1)); if (_arg1 == "bottom"){ popup.y = Math.floor(mc.height); } else { popup.y = (-(Math.floor(mc.height)) + 1); }; } } }//package spill.localisation
Section 134
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc) package spill.localisation { import flash.display.*; import flash.text.*; public dynamic class LanguageSelectBox_mc extends MovieClip { public var languageName_text:TextField; public var flag:MovieClip; } }//package spill.localisation
Section 135
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc) package spill.localisation { import flash.display.*; public dynamic class LanguageSelectPopup_mc extends MovieClip { public var l_ar:MovieClip; public var l_pt:MovieClip; public var l_en_uk:MovieClip; public var l_br:MovieClip; public var l_ru:MovieClip; public var l_se:MovieClip; public var l_in:MovieClip; public var l_es:MovieClip; public var l_fr:MovieClip; public var l_de:MovieClip; public var l_jp:MovieClip; public var l_nl:MovieClip; public var l_pl:MovieClip; public var l_es_ar:MovieClip; public var l_id:MovieClip; public var l_en_us:MovieClip; public var l_it:MovieClip; public var l_es_mx:MovieClip; public var l_cn:MovieClip; } }//package spill.localisation
Section 136
//LocalizedTextField (spill.localisation.LocalizedTextField) package spill.localisation { import flash.events.*; public class LocalizedTextField extends TextFieldFit { private var originalText:String; private var regex:RegExp; public function LocalizedTextField(){ regex = /{([^{}]*)}/g; super(); addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); added(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); text = originalText; } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function languageChanged(_arg1:Event):void{ text = originalText; updateProperties(); } override public function set text(_arg1:String):void{ originalText = _arg1; if ((_arg1 is String)){ super.text = _arg1.replace(regex, replaceFn); } else { super.text = ""; }; trace(super.text); } private function replaceFn():String{ var _local2:String = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } } }//package spill.localisation
Section 137
//PortalGroup (spill.localisation.PortalGroup) package spill.localisation { import flash.xml.*; public class PortalGroup { public static const FAMILY:uint = 0; public static const TEENS:uint = 1; public static const GIRL:uint = 2; public static const YOUNG_ADULTS:uint = 3; public static const ZAPAPA:uint = 4; public static const HYVES:uint = 5; public static const NONE:uint = 6; public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"]; public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; public static function getName(_arg1:int):String{ return (channelNames[_arg1]); } public static function exportXML():XMLNode{ var _local3:XMLNode; var _local1:XMLNode = new XMLNode(1, "channels"); var _local2:int; while (_local2 < 5) { _local3 = new XMLNode(1, "channel"); _local3.attributes.name = channelNames[_local2]; _local3.attributes.id = _local2; _local1.appendChild(_local3); _local2++; }; return (_local1); } } }//package spill.localisation
Section 138
//spil_internal (spill.localisation.spil_internal) package spill.localisation { public namespace spil_internal = "spill.localisation"; }//package spill.localisation
Section 139
//SpilGame (spill.localisation.SpilGame) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; public class SpilGame { private static const cookiePath:String = "/"; private static const cookieName:String = "spilgames_language_v100"; private static const cookieLanguageVar:String = "savedLang"; public static const LANGUAGE_CHANGED:String = "languageChanged"; public static const BRANDING_CHANGED:String = "brandingChanged"; spil_internal static var gameName:String; public static var currentBranding:Brand; public static var currentLanguage:Language; spil_internal static var emailPage:String; spil_internal static var portalGroup:uint; private static var channelLock:Boolean = false; private static var _init:Boolean = false; private static var eventDispatcher:EventDispatcher; private static var localDomains:Object = new Object(); private static var strings:Object = new Object(); private static var contexMenuItem:ContextMenuItem; private static var stage:Sprite; spil_internal static var debugHostDomain:String = ""; spil_internal static var debugEmbedDomain:String = ""; public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{ stage = _arg4; if (_init){ trace("ERROR: LocalisationManager already initialised"); return; }; _init = true; localDomains["localhost"] = true; localDomains["www8.agame.com"] = true; localDomains["gamedev.dev.spilgames.com"] = true; localDomains["stg.spel.nl"] = true; localDomains["stg.girlsgogames.nl"] = true; localDomains["stg.pl.spel.nl"] = true; localDomains["stg.pl.girlsgogames.nl"] = true; trace(localDomains["stg.girlsgogames.nl"]); Brandings.initialize(); Languages.initialize(); initContexMenu(_arg4); channelLock = _arg5; gameName = _arg1.replace(" ", "_"); portalGroup = _arg2; emailPage = _arg3; chooseLanguage(); chooseBranding(); if (portalGroup == PortalGroup.HYVES){ changeLanguage("nl"); }; } public static function initTextField(_arg1:TextField):void{ var _local2:TextFormat; trace(_arg1.text); _arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn); trace(_arg1.text); _arg1.embedFonts = currentLanguage.embedFonts; if (currentLanguage.forceFont != ""){ _local2 = new TextFormat(); _local2.font = currentLanguage.forceFont; _arg1.setTextFormat(_local2); }; } private static function replaceFn():String{ var _local2:String = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } public static function outputAllBrands():String{ var _local3:Brand; var _local1:Array = Brandings.getBrandsArray(); var _local2 = ""; for each (_local3 in _local1) { _local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n")); }; return (_local2); } public static function traceAllBrands():void{ trace(outputAllBrands()); } public static function getMoreGamesLink(_arg1:String=""):String{ var _local2:String = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1)); } public static function getSendToFriendLink():String{ return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain)); } public static function getPromotionLink(_arg1:String="feature_promotion"):String{ var _local2:String = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1)); } public static function getSpilCompanyLink():String{ var _local1 = "http://www.gameportal.net/"; _local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal")); _local1 = (_local1 + ("&utm_campaign=" + gameName)); _local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain))); _local1 = (_local1 + "&utm_content=Branding_Link"); return (_local1); } public static function importXML(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.identifier] = new Object()); for each (_local4 in _local2.children()) { _local3[_local4.name()] = _local4.children()[0].toString(); }; }; } public static function importXMLv2(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.attribute("identifier")] = new Object()); for each (_local4 in _local2.children()) { if (_local4.children().length() > 0){ _local3[_local4.name()] = _local4.children()[0].toString(); } else { _local3[_local4.name()] = ""; }; }; }; } public static function getString(_arg1:String):String{ var _local2:Object = strings[_arg1]; if (_local2){ if (currentLanguage.textLanguage){ return (_local2[currentLanguage.textLanguage]); }; if (_local2[currentLanguage.name]){ return (_local2[currentLanguage.name]); }; return (_local2["en_us"]); //unresolved jump }; return (""); } private static function initContexMenu(_arg1:Sprite):void{ contexMenuItem = new ContextMenuItem(""); _arg1.contextMenu = new ContextMenu(); _arg1.contextMenu.customItems.push(contexMenuItem); contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked); } private static function contexMenuClicked(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu"))); } spil_internal static function chooseLanguage():void{ if (cookieLanguage != null){ currentLanguage = cookieLanguage; } else { if (isExternal){ currentLanguage = systemLanguage; } else { currentLanguage = portalLanguage; if (!currentLanguage){ currentLanguage = systemLanguage; }; }; }; if (!currentLanguage){ trace("Unable to determine language, using 'English US'"); currentLanguage = Languages.getLanguage("en_us"); }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; dispatchEvent(new Event(LANGUAGE_CHANGED)); } spil_internal static function chooseBranding():void{ currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]); if (!(currentBranding is Brand)){ currentBranding = Brandings.getBrandByDomain("www.agame.com"); }; contexMenuItem.caption = ("More Games: " + currentBranding.domain); dispatchEvent(new Event(BRANDING_CHANGED)); } spil_internal static function changeLanguage(_arg1:String):void{ var _local2:Language = Languages.getLanguage(_arg1); if (!_local2){ trace("ERROR: Supplied language string does not have a matching language"); } else { cookieLanguage = _local2; currentLanguage = _local2; }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; chooseBranding(); dispatchEvent(new Event(LANGUAGE_CHANGED)); } private static function get portalLanguage():Language{ var _local1:Brand; var _local2:String; var _local3:Language; if (isExternal){ return (null); }; if (!embedDomain){ return (null); }; _local1 = Brandings.getBrandByDomain(embedDomain); if (!_local1){ return (null); }; _local2 = _local1.preferedLanguage; if (!_local2){ return (null); }; _local3 = Languages.getLanguage(_local2); if (!_local3){ return (null); }; return (_local3); } spil_internal static function get systemLanguage():Language{ return (Languages.getLanguage(Capabilities.language)); } spil_internal static function get cookieLanguage():Language{ var _local1:SharedObject = SharedObject.getLocal(cookieName, cookiePath); var _local2:String = String(_local1.data[cookieLanguageVar]); return (Languages.getLanguage(_local2)); } spil_internal static function set cookieLanguage(_arg1:Language):void{ var _local2:SharedObject = SharedObject.getLocal(cookieName, cookiePath); if (_arg1 == null){ _local2.data[cookieLanguageVar] = null; } else { _local2.data[cookieLanguageVar] = _arg1.name; }; _local2.flush(); } public static function get isExternal():Boolean{ return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain)))); } public static function get isStagingDomain():Boolean{ var _local1:String = ("http://" + embedDomain); return ((_local1.indexOf("http://stg.") >= 0)); } spil_internal static function get hostingDomain():String{ var _local1:LocalConnection; if (debugHostDomain != ""){ return (debugHostDomain); }; _local1 = new LocalConnection(); return (_local1.domain); } spil_internal static function get embedDomain():String{ var loc:String; if (debugEmbedDomain != ""){ return (debugEmbedDomain); }; if (ExternalInterface.available){ try { loc = ExternalInterface.call("window.location.href.toString"); if (((!((loc == ""))) && (!((loc == null))))){ trace(("embed domain = " + getDomain(loc))); return (getDomain(loc)); }; } catch(e:SecurityError) { trace(("Security Error connecting to external interface, error = " + e)); } catch(e:Error) { trace(("Error connecting to external interface, error = " + e)); }; }; return (null); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } spil_internal static function dispatchEvent(_arg1:Event):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.dispatchEvent(_arg1); } public static function exportXML():XML{ var _local1:XML = <spil_games/> ; _local1.appendChild(Brandings.exportXML()); _local1.appendChild(Languages.exportXML()); _local1.appendChild(PortalGroup.exportXML()); return (_local1); } private static function getDomain(_arg1:String):String{ var _local2:String; var _local3:uint; if (_arg1.indexOf("file") == 0){ return ("offline_play"); }; _local2 = new String(); _local3 = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; if (_local2 == "localhost"){ _local2 = "offline_play"; }; return (_local2); } } }//package spill.localisation
Section 140
//SpilGamesLink (spill.localisation.SpilGamesLink) package spill.localisation { import flash.display.*; import flash.events.*; import flash.net.*; public class SpilGamesLink extends SimpleButton { public function SpilGamesLink(){ addEventListener(MouseEvent.CLICK, buttonClicked); } private function buttonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink()), "_blank"); } } }//package spill.localisation
Section 141
//TextFieldFit (spill.localisation.TextFieldFit) package spill.localisation { import flash.display.*; import flash.text.*; import flash.events.*; import flash.utils.*; import flash.filters.*; public class TextFieldFit extends MovieClip { private var field:TextField; private var w:Number; private var h:Number; private var format:TextFormat; private var embeddedFonts:Array; private var sizeChanged:Boolean;// = true private var debugBounding:Sprite; private var valid:Boolean;// = true protected var _text:String;// = "default" protected var _textColor:uint;// = 0 protected var _textSize:Number;// = 12 protected var _multiline:Boolean;// = false protected var _disableWordwrap:Boolean;// = false protected var _hAlign:String;// = "left" protected var _vAlign:String;// = "top" protected var _bold:Boolean;// = false protected var _underline:Boolean;// = false protected var _italic:Boolean;// = false protected var _selectable:Boolean;// = false protected var _font:String;// = "" protected var _embedFonts:Boolean;// = true protected var _antiAliasType:String;// = "advanced" protected var _gridFitType:String;// = "pixel" protected var _useGlowFilter:Boolean;// = false protected var _glowBlur:Number;// = 3 protected var _glowColor:uint;// = 0 protected var _glowStrength:Number;// = 5 protected var _glowQuality:Number;// = 1 private static const gutter:Number = 2; spil_internal static var embedFonts:Boolean = true; spil_internal static var forceFont:String = null; spil_internal static var forceAAType:String = null; public static var alwaysCheckWidth:Boolean = false; public function TextFieldFit(){ var _local1:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); var _local2:Number = width; var _local3:Number = height; if (numChildren > 0){ removeChildAt(0); }; if (!field){ field = new TextField(); addChild(field); }; field.border = false; field.background = false; field.type = TextFieldType.DYNAMIC; mouseEnabled = false; mouseChildren = false; format = new TextFormat(); embeddedFonts = Font.enumerateFonts(false); setSize(_local2, _local3); validate(); if (stage){ addEventListener(Event.RENDER, init); stage.invalidate(); }; init(); } public function get textField():TextField{ return (field); } private function init(_arg1:Event=null):void{ removeEventListener(Event.RENDER, init); updateProperties(); layoutText(); } protected function updateProperties():void{ var _local1:Boolean; var _local2:Font; field.text = _text; field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline; field.wordWrap = ((field.multiline) && (!(_disableWordwrap))); field.selectable = _selectable; field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType; field.gridFitType = _gridFitType; embeddedFonts = Font.enumerateFonts(false); if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){ _local1 = false; for each (_local2 in embeddedFonts) { if (_font == _local2.fontName){ _local1 = true; break; }; }; field.embedFonts = _local1; if (!_local1){ trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text)); } else { trace((("Found Embedded font '" + _font) + "' using font")); }; } else { field.embedFonts = false; }; if (TextFieldFit.forceFont){ format.font = TextFieldFit.forceFont; } else { format.font = _font; }; if (sizeChanged){ format.size = _textSize; }; format.color = _textColor; format.align = _hAlign; format.bold = _bold; format.italic = _italic; format.underline = _underline; format.leftMargin = 0; format.rightMargin = 0; field.setTextFormat(format); if (_useGlowFilter){ filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)]; } else { filters = []; }; } public function setSize(_arg1:Number, _arg2:Number):void{ w = _arg1; h = _arg2; scaleX = (scaleY = 1); field.width = w; field.height = h; invalidate(); } private function layoutText():void{ resizeText(); field.height = (field.textHeight + (gutter * 2)); if (vAlign == "top"){ field.y = 0; } else { if (vAlign == "middle"){ field.y = ((h - field.height) / 2); } else { if (vAlign == "bottom"){ field.y = (h - field.height); }; }; }; } private function resizeText(_arg1:Boolean=false):void{ if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); if (format.size <= 3){ trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit"); return; }; field.setTextFormat(format); resizeText(true); } else { if (_arg1 == false){ while (doesTextFit()) { if (format.size <= textSize){ format.size = Object((Number(format.size) + 1)); field.setTextFormat(format); if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); field.setTextFormat(format); break; }; } else { break; }; }; }; }; } private function doesTextFit():Boolean{ if (((((field.textHeight + (gutter * 2)) > h)) || (((((field.textWidth + (gutter * 2)) > w)) && (((!(field.multiline)) || (alwaysCheckWidth))))))){ return (false); }; return (true); } private function invalidate():void{ if (valid){ addEventListener(Event.ENTER_FRAME, validate); if (stage){ stage.invalidate(); }; valid = false; }; } private function validate(_arg1:Event=null):void{ updateProperties(); layoutText(); removeEventListener(Event.ENTER_FRAME, validate); valid = true; } public function set text(_arg1:String):void{ _text = _arg1; invalidate(); } public function get text():String{ return (_text); } public function set textColor(_arg1:uint):void{ _textColor = _arg1; invalidate(); } public function get textColor():uint{ return (_textColor); } public function set textSize(_arg1:Number):void{ _textSize = _arg1; sizeChanged = true; invalidate(); } public function get textSize():Number{ return (_textSize); } public function set multiline(_arg1:Boolean):void{ _multiline = _arg1; invalidate(); } public function get multiline():Boolean{ return (_multiline); } public function set disableWordwrap(_arg1:Boolean):void{ _disableWordwrap = _arg1; invalidate(); } public function get disableWordwrap():Boolean{ return (_disableWordwrap); } public function set hAlign(_arg1:String):void{ _hAlign = _arg1; invalidate(); } public function get hAlign():String{ return (_hAlign); } public function set vAlign(_arg1:String):void{ _vAlign = _arg1; invalidate(); } public function get vAlign():String{ return (_vAlign); } public function set bold(_arg1:Boolean):void{ _bold = _arg1; invalidate(); } public function get bold():Boolean{ return (_bold); } public function set underline(_arg1:Boolean):void{ _underline = _arg1; invalidate(); } public function get underline():Boolean{ return (_underline); } public function set italic(_arg1:Boolean):void{ _italic = _arg1; invalidate(); } public function get italic():Boolean{ return (_italic); } public function set selectable(_arg1:Boolean):void{ _selectable = _arg1; invalidate(); } public function get selectable():Boolean{ return (_selectable); } public function set font(_arg1:String):void{ _font = _arg1; invalidate(); } public function get font():String{ return (_font); } public function set embedFonts(_arg1:Boolean):void{ _embedFonts = _arg1; invalidate(); } public function get embedFonts():Boolean{ return (_embedFonts); } public function set antiAliasType(_arg1:String):void{ _antiAliasType = _arg1; invalidate(); } public function get antiAliasType():String{ return (_antiAliasType); } public function set gridFitType(_arg1:String):void{ _gridFitType = _arg1; invalidate(); } public function get gridFitType():String{ return (_gridFitType); } public function set useGlowFilter(_arg1:Boolean):void{ _useGlowFilter = _arg1; invalidate(); } public function get useGlowFilter():Boolean{ return (_useGlowFilter); } public function set glowBlur(_arg1:Number):void{ _glowBlur = _arg1; invalidate(); } public function get glowBlur():Number{ return (_glowBlur); } public function set glowColor(_arg1:uint):void{ _glowColor = _arg1; invalidate(); } public function get glowColor():uint{ return (_glowColor); } public function set glowStrength(_arg1:Number):void{ _glowStrength = _arg1; invalidate(); } public function get glowStrength():Number{ return (_glowStrength); } public function set glowQuality(_arg1:Number):void{ _glowQuality = _arg1; invalidate(); } public function get glowQuality():Number{ return (_glowQuality); } } }//package spill.localisation
Section 142
//Bomb (Bomb) package { import flash.display.*; import Simulation.*; public class Bomb extends MovieClip { public var bomb_blink:MovieClip; private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var collided:Boolean;// = false public function Bomb():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 1, frame2, 16, frame17); } public function updateState():void{ } public function resetState():void{ gotoAndStop(parameters.BOMBBOX_NOT_EXPLODED_FRAME); } public function processCollisions():void{ } public function exploded():void{ gotoAndPlay(parameters.BOMBBOX_EXPLODED_FRAME); } function frame1(){ stop(); } function frame2(){ MovieClip(root).simulator.playExplosionSound(); } function frame17(){ stop(); } } }//package
Section 143
//BoxOwSound (BoxOwSound) package { import flash.media.*; public dynamic class BoxOwSound extends Sound { } }//package
Section 144
//BoxYeySound (BoxYeySound) package { import flash.media.*; public dynamic class BoxYeySound extends Sound { } }//package
Section 145
//CandaraBold (CandaraBold) package { import flash.text.*; public dynamic class CandaraBold extends Font { } }//package
Section 146
//CandaraRegular (CandaraRegular) package { import flash.text.*; public dynamic class CandaraRegular extends Font { } }//package
Section 147
//Devil (Devil) package { import flash.display.*; import Simulation.*; public class Devil extends MovieClip { public var eyes:Eyes; private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var isOutOfBounds:Boolean;// = false public var isExploded:Boolean;// = false public var isOnGoal:Boolean;// = false public var stateChanged:Boolean;// = true public var collided:Boolean;// = false public function Devil():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 3, frame4, 4, frame5, 8, frame9, 9, frame10, 13, frame14, 14, frame15, 18, frame19); } public function updateState():void{ if (stateChanged){ if (isOnGoal){ gotoAndPlay(parameters.DEVILBOX_HAPPY_ONGOAL_FRAME); }; if (!isOnGoal){ gotoAndPlay(parameters.DEVILBOX_HAPPY_NOTONGOAL_FRAME); }; stateChanged = false; }; } public function resetState():void{ isExploded = false; isOnGoal = false; stateChanged = true; isOutOfBounds = false; } public function processCollisions():void{ } public function exploded():void{ gotoAndPlay(parameters.DEVILBOX_EXPLODED_FRAME); isExploded = true; } public function isTouching():void{ } function frame1(){ } function frame4(){ gotoAndPlay(1); } function frame5(){ } function frame9(){ gotoAndPlay(5); } function frame10(){ } function frame14(){ gotoAndPlay(10); } function frame15(){ } function frame19(){ gotoAndPlay(15); } } }//package
Section 148
//DevilSound (DevilSound) package { import flash.media.*; public dynamic class DevilSound extends Sound { } }//package
Section 149
//Dot (Dot) package { import flash.display.*; public dynamic class Dot extends MovieClip { } }//package
Section 150
//ExplodeSound (ExplodeSound) package { import flash.media.*; public dynamic class ExplodeSound extends Sound { } }//package
Section 151
//Eyes (Eyes) package { import flash.display.*; import Simulation.*; public class Eyes extends MovieClip { public var leftDot:MovieClip; public var rightDot:MovieClip; private var parameters:Parameters; public var eyesState:String; public var stateDuration:int;// = 1 public var followScale:int; public var followScaleDelta:int; private var leftDotX:Number;// = 0 private var leftDotY:Number;// = 0 private var rightDotX:Number;// = 0 private var rightDotY:Number;// = 0 public function Eyes():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 1, frame2, 31, frame32, 32, frame33); } public function updateEyes():void{ if (eyesState == "stare"){ if (--stateDuration < 0){ eyesState = "blink"; play(); }; } else { if (eyesState == "follow"){ if ((((leftDotX == 0)) && ((rightDotY == 0)))){ leftDotX = leftDot.x; leftDotY = leftDot.y; rightDotX = rightDot.x; rightDotY = rightDot.y; }; if (--stateDuration < 0){ eyesState = "blink"; play(); }; leftDot.x = (leftDotX + ((leftDot.mouseX / parameters.STAGE_WIDTH) * parameters.EYES_RADIUS)); leftDot.y = (leftDotY + ((leftDot.mouseY / parameters.STAGE_HEIGHT) * parameters.EYES_RADIUS)); rightDot.x = (rightDotX + ((rightDot.mouseX / parameters.STAGE_WIDTH) * parameters.EYES_RADIUS)); rightDot.y = (rightDotY + ((rightDot.mouseY / parameters.STAGE_HEIGHT) * parameters.EYES_RADIUS)); }; }; } function frame1(){ stop(); eyesState = "stare"; stateDuration = int((((Math.random() * 2) * parameters.EYES_AVERAGE_STARE) * parameters.SIMULATOR_FRAME_RATE)); } function frame2(){ eyesState = "blink"; } function frame32(){ stop(); eyesState = "follow"; stateDuration = int((((Math.random() * 2) * parameters.EYES_AVERAGE_FOLLOW) * parameters.SIMULATOR_FRAME_RATE)); followScale = 0; followScaleDelta = 1; } function frame33(){ eyesState = "blink"; } } }//package
Section 152
//EyesDot (EyesDot) package { import flash.display.*; public dynamic class EyesDot extends MovieClip { } }//package
Section 153
//FailMusic (FailMusic) package { import flash.media.*; public dynamic class FailMusic extends Sound { } }//package
Section 154
//Font1 (Font1) package { import flash.text.*; public dynamic class Font1 extends Font { } }//package
Section 155
//Font2 (Font2) package { import flash.text.*; public dynamic class Font2 extends Font { } }//package
Section 156
//Game (Game) package { import flash.display.*; import flash.events.*; import spill.localisation.*; import com.spilgames.api.*; import Simulation.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import mochi.*; public class Game extends MovieClip { public var Frame25Mesh01:MovieClip; public var Frame25Bomb01:Bomb; public var Frame24Devil01:Devil; public var Frame24Level04:MovieClip; public var Frame19Bomb07:Bomb; public var Frame18Level02:MovieClip; public var Frame18Bomb06:Bomb; public var Frame17Devil01:Devil; public var Frame33Bomb08:Bomb; public var Frame33Bomb19:Bomb; public var Frame28Bomb14:Bomb; public var Frame28Bomb07:Bomb; public var Frame28Level01:MovieClip; public var Frame29Bomb15:Bomb; public var Frame29Bomb04:Bomb; public var Frame16Mesh01:MovieClip; public var Frame16Level05:MovieClip; public var Frame14Girl01:Girl; public var Frame14Level07:MovieClip; public var Frame14Mesh03:MovieClip; public var Frame15Level04:MovieClip; public var Trans9:transition_in; public var Frame09Level02:MovieClip; public var Frame08Level03:MovieClip; public var Frame08Level12:MovieClip; public var Frame06Level04:MovieClip; public var Frame05Level05:MovieClip; public var Frame04Level06:MovieClip; public var Frame02Level08:MovieClip; public var Frame01Level09:MovieClip; public var cloud_0:MovieClip; public var leftDot:MovieClip; public var Frame25Level06:MovieClip; public var Frame24Mesh10:MovieClip; public var Frame24Level07:MovieClip; public var Frame24Mesh03:MovieClip; public var Frame19Bomb06:Bomb; public var Frame18Level03:MovieClip; public var Frame17Bomb01:Bomb; public var Frame17Mesh01:Mesh; public var Frame35Bomb01:Bomb; public var Frame35Mesh01:Mesh; public var Frame33Bomb18:Bomb; public var Frame28Bomb17:Bomb; public var Frame28Bomb06:Bomb; public var Frame29Bomb14:Bomb; public var Frame29Bomb07:Bomb; public var Frame29Level03:MovieClip; public var Frame26Bomb01:Bomb; public var Frame26Mesh01:MovieClip; public var Frame14Mesh02:MovieClip; public var Frame14Level04:MovieClip; public var Frame15Girl01:Girl; public var Frame15Mesh03:MovieClip; public var Frame15Level05:MovieClip; public var Frame10Level08:MovieClip; public var Frame09Level01:MovieClip; public var Frame08Level02:MovieClip; public var Frame08Level11:MovieClip; public var Frame08Goal01:MovieClip; public var Frame07Simple02:Simple; public var Frame06Simple03:Simple; public var Frame05Level04:MovieClip; public var Frame04Simple01:Simple; public var Frame04Level05:MovieClip; public var Frame01Level08:MovieClip; public var cloud_1:MovieClip; public var credits_title:LocalizedTextField; public var Frame25Bomb10:Bomb; public var Frame25Bomb03:Bomb; public var Frame25Mesh03:MovieClip; public var Frame24Mesh02:MovieClip; public var Frame24Level06:MovieClip; public var Frame19Level01:MovieClip; public var Frame18Goal01:MovieClip; public var Frame18Bomb09:Bomb; public var Frame17Bomb11:Bomb; public var Frame17Mesh11:Mesh; public var Frame35Bomb11:Bomb; public var Frame35Mesh11:Mesh; public var Frame27Mesh01:MovieClip; public var Frame28Bomb16:Bomb; public var Frame29Tech01:Tech; public var Frame29Bomb06:Bomb; public var Frame29Level02:MovieClip; public var Frame16Girl01:Girl; public var Frame16Mesh03:MovieClip; public var Frame14Level05:MovieClip; public var Frame15Mesh02:MovieClip; public var Frame10Level09:MovieClip; public var Frame09Goal01:MovieClip; public var Frame10Mesh01:MovieClip; public var Frame08Level01:MovieClip; public var Frame08Level10:MovieClip; public var Frame07Simple03:Simple; public var Frame06Simple02:Simple; public var Frame05Simple01:Simple; public var Frame04Level04:MovieClip; public var aalogo:MovieClip; public var Frame25Bomb02:Bomb; public var Frame25Bomb13:Bomb; public var Frame25Mesh02:MovieClip; public var Frame24Level09:MovieClip; public var Frame24Mesh05:MovieClip; public var Frame20Mesh01:MovieClip; public var Frame20Bomb01:Bomb; public var Frame19Bomb09:Bomb; public var Frame19Goal01:MovieClip; public var Frame18Level01:MovieClip; public var Frame18Bomb08:Bomb; public var Frame17Bomb10:Bomb; public var Frame17Bomb03:Bomb; public var Frame17Bomb21:Bomb; public var Frame17Mesh03:Mesh; public var Frame17Mesh10:Mesh; public var Frame35Bomb10:Bomb; public var Frame35Bomb03:Bomb; public var Frame35Bomb21:Bomb; public var Frame35Mesh03:Mesh; public var Frame35Mesh10:Mesh; public var Frame28Tech01:Tech; public var Frame28Goal01:MovieClip; public var Frame28Bomb09:Bomb; public var Frame29Level05:MovieClip; public var Frame26Bomb03:Bomb; public var Frame26Mesh03:MovieClip; public var Frame16Mesh02:MovieClip; public var Frame16Level08:MovieClip; public var Frame15Mesh05:MovieClip; public var Frame11Mesh01:MovieClip; public var Frame07Level08:MovieClip; public var Frame06Simple01:Simple; public var Frame06Level09:MovieClip; public var Frame05Simple02:Simple; public var Frame24Mesh04:MovieClip; public var Frame24Level08:MovieClip; public var Frame21Mesh01:MovieClip; public var Frame21Bomb01:Bomb; public var Frame19Bomb08:Bomb; public var Frame17Bomb02:Bomb; public var Frame17Bomb13:Bomb; public var Frame17Bomb20:Bomb; public var Frame17Mesh13:Mesh; public var Frame17Mesh02:Mesh; public var Frame35Bomb02:Bomb; public var Frame35Bomb13:Bomb; public var Frame35Bomb20:Bomb; public var Frame35Mesh13:Mesh; public var Frame35Mesh02:Mesh; public var Frame27Mesh03:MovieClip; public var Frame28Bomb19:Bomb; public var Frame28Bomb08:Bomb; public var Frame30Bomb01:Bomb; public var Frame30Mesh01:MovieClip; public var Frame29Bomb09:Bomb; public var Frame29Level04:MovieClip; public var Frame26Bomb02:Bomb; public var Frame26Mesh02:MovieClip; public var Frame16Level09:MovieClip; public var Frame15Mesh04:MovieClip; public var Frame15Level08:MovieClip; public var Frame12Mesh01:MovieClip; public var Frame10Girl01:Girl; public var Frame09Level06:MovieClip; public var Frame08Level07:MovieClip; public var Frame07Simple01:Simple; public var Frame06Level08:MovieClip; public var Frame05Simple03:Simple; public var Frame04Simple02:Simple; public var Frame25Bomb04:Bomb; public var Frame25Bomb15:Bomb; public var Frame24Mesh07:MovieClip; public var Frame22Bomb01:Bomb; public var Frame22Mesh01:MovieClip; public var Frame20Mesh03:Mesh; public var Frame20Bomb03:Bomb; public var Frame17Bomb12:Bomb; public var Frame17Bomb05:Bomb; public var Frame17Bomb23:Bomb; public var Frame17Mesh12:Mesh; public var Frame17Mesh05:Mesh; public var Frame35Bomb12:Bomb; public var Frame35Bomb05:Bomb; public var Frame35Bomb23:Bomb; public var Frame35Mesh12:Mesh; public var Frame35Mesh05:Mesh; public var Frame27Mesh02:MovieClip; public var Frame28Bomb18:Bomb; public var Frame31Mesh01:MovieClip; public var Frame31Bomb01:Bomb; public var Frame29Tech02:Tech; public var Frame29Bomb08:Bomb; public var Frame26Bomb05:Bomb; public var Frame13Level02:MovieClip; public var Frame15Mesh07:MovieClip; public var Frame11Girl01:Girl; public var Frame11Mesh03:MovieClip; public var Frame09Level05:MovieClip; public var Frame10Mesh02:MovieClip; public var Frame08Level06:MovieClip; public var Frame05Simple04:Simple; public var Frame03Simple02:Simple; public var Frame03Level03:MovieClip; public var Frame02Simple03:Simple; public var rightDot:MovieClip; public var menuarea:menu_text_clip; public var __id0_:LanguageSelectBox; public var star_clip:MovieClip; public var Frame25Bomb07:Bomb; public var Frame25Bomb14:Bomb; public var Frame24Mesh06:MovieClip; public var Frame23Bomb01:Bomb; public var Frame23Mesh01:MovieClip; public var Frame22Mesh11:MovieClip; public var Frame22Level01:MovieClip; public var Frame21Bomb03:Bomb; public var Frame21Mesh03:MovieClip; public var Frame20Mesh02:Mesh; public var Frame20Bomb02:Bomb; public var Frame17Mesh15:MovieClip; public var Frame17Bomb04:Bomb; public var Frame17Bomb15:Bomb; public var Frame17Bomb22:Bomb; public var Frame17Mesh04:Mesh; public var Frame35Mesh15:MovieClip; public var Frame35Bomb04:Bomb; public var Frame35Bomb15:Bomb; public var Frame35Bomb22:Bomb; public var Frame35Mesh04:Mesh; public var Frame32Bomb01:Bomb; public var Frame32Mesh01:MovieClip; public var Frame31Bomb11:Bomb; public var Frame30Bomb03:Bomb; public var Frame30Mesh03:MovieClip; public var Frame26Bomb04:Bomb; public var Frame13Level03:MovieClip; public var Frame15Mesh06:MovieClip; public var Frame15Star01:Star; public var Frame12Level02:MovieClip; public var Frame12Girl01:Girl; public var Frame12Mesh03:MovieClip; public var Frame11Mesh02:MovieClip; public var Frame10Girl03:Girl; public var Frame09Level04:MovieClip; public var Frame08Level05:MovieClip; public var Frame08Level14:MovieClip; public var Frame04Goal01:MovieClip; public var Frame03Level02:MovieClip; public var Frame02Level03:MovieClip; public var Frame02Simple02:Simple; public var Frame01Simple01:Simple; public var credits_development_by:LocalizedTextField; public var Frame25Bomb17:Bomb; public var Frame23Level03:MovieClip; public var Frame22Bomb03:Bomb; public var Frame22Mesh03:MovieClip; public var Frame21Level01:MovieClip; public var Frame21Bomb02:Bomb; public var Frame21Mesh02:MovieClip; public var Frame20Mesh05:Mesh; public var Frame19Devil01:Devil; public var Frame17Bomb07:Bomb; public var Frame17Bomb14:Bomb; public var Frame17Bomb25:Bomb; public var Frame17Mesh07:Mesh; public var Frame17Mesh14:Mesh; public var Frame35Bomb07:Bomb; public var Frame35Bomb14:Bomb; public var Frame35Bomb25:Bomb; public var Frame35Mesh07:Mesh; public var Frame35Mesh14:Mesh; public var Frame33Mesh01:MovieClip; public var Frame33Bomb01:Bomb; public var Frame27Mesh04:MovieClip; public var Frame32Bomb11:Bomb; public var Frame32Mesh11:MovieClip; public var Frame31Bomb10:Bomb; public var Frame31Bomb03:Bomb; public var Frame31Mesh03:MovieClip; public var Frame30Mesh02:MovieClip; public var Frame30Bomb02:Bomb; public var Frame13Girl01:Girl; public var Frame14Goal01:MovieClip; public var Frame12Mesh02:MovieClip; public var Frame11Level02:MovieClip; public var Frame11Mesh05:MovieClip; public var Trans10:transition_in; public var Frame10Girl02:Girl; public var Frame08Level04:MovieClip; public var Frame07Simple04:Simple; public var Frame05Goal01:MovieClip; public var Frame03Level01:MovieClip; public var Frame02Simple01:Simple; public var Frame02Level02:MovieClip; public var Frame01Level03:MovieClip; public var back_bt:MovieClip; public var introIn2:MovieClip; public var Frame25Bomb16:Bomb; public var Frame24Goal01:MovieClip; public var Frame24Mesh09:Mesh; public var Frame23Level02:MovieClip; public var Frame23Bomb03:Bomb; public var Frame22Level03:MovieClip; public var Frame22Bomb02:Bomb; public var Frame22Mesh02:MovieClip; public var Frame21Bomb05:Bomb; public var Trans20:transition_in; public var Frame20Level01:MovieClip; public var Frame20Mesh04:Mesh; public var Frame20Bomb04:Bomb; public var Frame18Devil01:Devil; public var Frame17Bomb06:Bomb; public var Frame17Bomb17:Bomb; public var Frame17Bomb24:Bomb; public var Frame17Mesh06:Mesh; public var Frame35Bomb06:Bomb; public var Frame35Bomb17:Bomb; public var Frame35Bomb24:Bomb; public var Frame35Mesh06:Mesh; public var Frame33Bomb11:Bomb; public var Frame32Mesh10:MovieClip; public var Frame32Bomb10:Bomb; public var Frame32Bomb03:Bomb; public var Frame32Mesh03:MovieClip; public var Frame31Bomb13:Bomb; public var Frame31Bomb02:Bomb; public var Frame31Bomb20:Bomb; public var Frame31Mesh02:MovieClip; public var Frame30Bomb05:Bomb; public var Frame13Level01:MovieClip; public var Frame15Goal01:MovieClip; public var Trans11:transition_in; public var Frame11Level03:MovieClip; public var Frame11Mesh04:MovieClip; public var Frame10Level02:MovieClip; public var Frame07Simple05:Simple; public var Frame06Goal01:MovieClip; public var Frame03Simple01:Simple; public var Frame02Level10:MovieClip; public var Frame02Level01:MovieClip; public var Frame01Level02:MovieClip; public var SpilGamesButton:SpilGamesLink; public var Frame25Goal01:MovieClip; public var Frame24Mesh08:Mesh; public var Frame23Level05:MovieClip; public var Frame23Mesh02:MovieClip; public var Frame23Bomb02:Bomb; public var Frame22Bomb05:Bomb; public var Frame22Level02:MovieClip; public var Frame22Mesh05:MovieClip; public var Trans21:transition_in; public var Frame21Level03:MovieClip; public var Frame21Mesh04:MovieClip; public var Frame21Bomb04:Bomb; public var Frame20Mesh07:MovieClip; public var Frame17Level02:MovieClip; public var Frame17Bomb16:Bomb; public var Frame35Bomb16:Bomb; public var Frame33Mesh03:MovieClip; public var Frame33Bomb10:Bomb; public var Frame33Bomb03:Bomb; public var Frame33Bomb21:Bomb; public var Frame27Tech01:Tech; public var Frame27Level01:MovieClip; public var Frame32Bomb02:Bomb; public var Frame32Bomb13:Bomb; public var Frame32Mesh02:MovieClip; public var Frame32Mesh13:MovieClip; public var Frame31Bomb12:Bomb; public var Frame31Bomb05:Bomb; public var Frame30Bomb04:Bomb; public var Frame30Level01:MovieClip; public var Frame16Star01:Star; public var Frame16Goal01:MovieClip; public var Trans12:transition_in; public var Frame12Level01:MovieClip; public var Frame10Girl04:Girl; public var Frame10Level03:MovieClip; public var Frame08Mesh01:MovieClip; public var Frame07Goal01:MovieClip; public var Frame07Level03:MovieClip; public var Frame03Level07:MovieClip; public var Frame01Star01:Star; public var Frame01Level10:MovieClip; public var Frame01Level01:MovieClip; public var introOut:MovieClip; public var Trans1:transition_in; public var invBackButton:MovieClip; public var Frame25Bomb19:Bomb; public var Frame23Devil01:Devil; public var Frame23Bomb05:Bomb; public var Trans22:transition_in; public var Frame22Level05:MovieClip; public var Frame22Bomb04:Bomb; public var Frame22Mesh04:MovieClip; public var Frame21Level02:MovieClip; public var Frame20Mesh06:MovieClip; public var Frame18Bomb01:Bomb; public var Frame18Mesh01:MovieClip; public var Frame17Level03:MovieClip; public var Frame17Bomb09:Bomb; public var Frame17Goal01:MovieClip; public var Frame17Mesh09:Mesh; public var Frame35Bomb09:Bomb; public var Frame35Mesh09:Mesh; public var Frame33Mesh02:MovieClip; public var Frame33Bomb13:Bomb; public var Frame33Bomb02:Bomb; public var Frame33Bomb20:Bomb; public var Frame32Bomb05:Bomb; public var Frame32Bomb12:Bomb; public var Frame32Mesh05:MovieClip; public var Frame32Mesh12:MovieClip; public var Frame31Bomb15:Bomb; public var Frame31Bomb04:Bomb; public var Frame26Tech01:Tech; public var Frame26Goal01:MovieClip; public var Frame26Level01:MovieClip; public var Frame16Level02:MovieClip; public var Trans13:transition_in; public var Frame13Girl02:Girl; public var Frame11Level01:MovieClip; public var Frame11Star01:Star; public var Frame07Level02:MovieClip; public var Frame06Level12:MovieClip; public var Frame06Level03:MovieClip; public var Frame03Level06:MovieClip; public var Trans2:transition_in; public var Frame02Level07:MovieClip; public var mystery_block:MovieClip; public var Frame25Level01:MovieClip; public var Frame25Bomb18:Bomb; public var Frame24Level11:MovieClip; public var Trans23:transition_in; public var Frame23Bomb04:Bomb; public var Frame22Devil01:Devil; public var Frame22Mesh07:MovieClip; public var Frame22Bomb07:Bomb; public var Frame22Level04:MovieClip; public var Frame21Star01:Star; public var Frame20Level02:MovieClip; public var Frame19Mesh01:MovieClip; public var Frame19Bomb01:Bomb; public var Frame18Bomb11:Bomb; public var Frame17Bomb08:Bomb; public var Frame17Bomb19:Bomb; public var Frame17Mesh08:Mesh; public var Frame35Bomb08:Bomb; public var Frame35Bomb19:Bomb; public var Frame35Mesh08:Mesh; public var Frame33Bomb12:Bomb; public var Frame33Bomb05:Bomb; public var Frame33Bomb23:Bomb; public var Frame27Goal01:MovieClip; public var Frame32Bomb15:Bomb; public var Frame32Bomb04:Bomb; public var Frame32Mesh04:MovieClip; public var Frame28Bomb01:Bomb; public var Frame28Mesh01:MovieClip; public var Frame31Bomb14:Bomb; public var Frame31Bomb07:Bomb; public var Frame30Bomb06:Bomb; public var Frame16Level03:MovieClip; public var Frame16Level10:MovieClip; public var Frame13Level04:MovieClip; public var Trans14:transition_in; public var Frame15Level02:MovieClip; public var Frame11Level06:MovieClip; public var Frame10Star01:Star; public var Frame10Goal01:MovieClip; public var Frame10Level01:MovieClip; public var helpBox4:MovieClip; public var Frame08Level08:MovieClip; public var Frame08Mesh03:MovieClip; public var Frame07Level01:MovieClip; public var Frame06Level02:MovieClip; public var Frame06Level11:MovieClip; public var Frame05Level03:MovieClip; public var Trans3:transition_in; public var Frame03Level05:MovieClip; public var Frame02Level06:MovieClip; public var Frame01Goal01:MovieClip; public var Frame01Level07:MovieClip; public var block_1:MovieClip; public var Trans24:transition_in; public var Frame24Level01:MovieClip; public var Frame24Level10:MovieClip; public var Frame23Bomb07:Bomb; public var Frame22Level07:MovieClip; public var Frame22Bomb06:Bomb; public var Frame22Mesh06:MovieClip; public var Frame21Devil01:Devil; public var Frame21Level04:MovieClip; public var Frame20Goal01:MovieClip; public var Frame18Bomb10:Bomb; public var Frame18Bomb03:Bomb; public var Frame18Mesh03:MovieClip; public var Frame17Bomb18:Bomb; public var Frame35Level01:MovieClip; public var Frame35Bomb18:Bomb; public var Frame33Bomb15:Bomb; public var Frame33Bomb04:Bomb; public var Frame33Bomb22:Bomb; public var Frame27Tech02:Tech; public var Frame32Bomb14:Bomb; public var Frame32Bomb07:Bomb; public var Frame32Mesh07:MovieClip; public var Frame28Bomb11:Bomb; public var Frame31Tech01:Tech; public var Frame31Bomb17:Bomb; public var Frame31Bomb06:Bomb; public var Frame29Bomb01:Bomb; public var Frame29Mesh01:MovieClip; public var helpBox5:MovieClip; public var Frame26Level03:MovieClip; public var Frame16Level11:MovieClip; public var Frame13Level05:MovieClip; public var Frame14Level02:MovieClip; public var Trans15:transition_in; public var Frame15Level03:MovieClip; public var Frame11Level07:MovieClip; public var Frame11Goal01:MovieClip; public var Frame10Level06:MovieClip; public var Frame09Girl01:Girl; public var Frame08Mesh02:MovieClip; public var Frame06Level01:MovieClip; public var Frame06Level10:MovieClip; public var Frame05Level02:MovieClip; public var Trans4:transition_in; public var Frame04Level03:MovieClip; public var Frame03Level04:MovieClip; public var Frame02Level05:MovieClip; public var Frame02Goal01:MovieClip; public var Frame01Level06:MovieClip; public var block_2:MovieClip; public var Trans25:transition_in; public var Frame25Level03:MovieClip; public var Frame24Level13:MovieClip; public var Frame23Devil02:Devil; public var Frame23Bomb06:Bomb; public var Frame22Level06:MovieClip; public var Frame21Goal01:MovieClip; public var Frame20Devil01:Devil; public var Frame19Bomb03:Bomb; public var Frame19Bomb10:Bomb; public var Frame19Mesh03:MovieClip; public var Frame18Bomb02:Bomb; public var Frame18Mesh02:MovieClip; public var Frame34Level01:MovieClip; public var Frame35Level02:MovieClip; public var Frame33Bomb14:Bomb; public var Frame33Bomb07:Bomb; public var Frame33Bomb25:Bomb; public var Frame32Bomb06:Bomb; public var Frame32Mesh06:MovieClip; public var Frame28Bomb21:Bomb; public var Frame28Bomb10:Bomb; public var Frame28Bomb03:Bomb; public var Frame31Bomb16:Bomb; public var Frame30Tech01:Tech; public var Frame30Goal01:MovieClip; public var Frame29Bomb11:Bomb; public var Frame26Level02:MovieClip; public var Trans16:transition_in; public var Frame16Level01:MovieClip; public var Frame14Level03:MovieClip; public var Frame12Star01:Star; public var Frame12Goal01:MovieClip; public var Frame11Level04:MovieClip; public var helpBox2:MovieClip; public var Frame10Level07:MovieClip; public var Frame08Simple01:Simple; public var Frame07Level07:MovieClip; public var Trans5:transition_in; public var Frame05Level01:MovieClip; public var Frame04Level02:MovieClip; public var Frame03Goal01:MovieClip; public var Frame02Level04:MovieClip; public var Frame01Level05:MovieClip; public var introanim:intro_anim; public var Frame25Level02:MovieClip; public var Frame24Level03:MovieClip; public var Frame24Level12:MovieClip; public var Frame22Goal01:MovieClip; public var Frame22Bomb09:Bomb; public var Frame22Star01:Star; public var Frame19Bomb02:Bomb; public var Frame19Mesh02:MovieClip; public var Frame18Mesh05:MovieClip; public var Frame18Bomb12:Bomb; public var Frame18Bomb05:Bomb; public var Trans17:transition_in; public var Frame35Level03:MovieClip; public var Frame33Tech01:Tech; public var Frame33Bomb06:Bomb; public var Frame33Bomb24:Bomb; public var Frame33Bomb17:Bomb; public var Frame27Goal02:MovieClip; public var Frame32Bomb16:Bomb; public var Frame28Bomb20:Bomb; public var Frame28Bomb13:Bomb; public var Frame28Bomb02:Bomb; public var Frame31Goal01:MovieClip; public var Frame31Bomb09:Bomb; public var Frame29Bomb10:Bomb; public var Frame29Bomb03:Bomb; public var Frame16Level06:MovieClip; public var Frame13Goal01:MovieClip; public var Frame15Level01:MovieClip; public var Frame11Level05:MovieClip; public var Frame10Level04:MovieClip; public var Frame08Mesh04:MovieClip; public var Frame07Level06:MovieClip; public var Trans6:transition_in; public var Frame06Level07:MovieClip; public var Frame04Level01:MovieClip; public var helpBox3:MovieClip; public var Frame02Goal03:MovieClip; public var Frame01Level04:MovieClip; public var credits_music_by:LocalizedTextField; public var Frame25Level05:MovieClip; public var Frame24Level15:MovieClip; public var Frame24Level02:MovieClip; public var Frame23Goal01:MovieClip; public var Frame22Mesh08:MovieClip; public var Frame22Bomb08:Bomb; public var Frame19Bomb05:Bomb; public var Trans18:transition_in; public var Frame18Bomb04:Bomb; public var Frame18Mesh04:MovieClip; public var Frame33Bomb16:Bomb; public var Frame32Tech01:Tech; public var Frame32Goal01:MovieClip; public var Frame32Bomb09:Bomb; public var Frame32Mesh09:MovieClip; public var Frame28Bomb12:Bomb; public var Frame28Bomb05:Bomb; public var Frame31Bomb08:Bomb; public var Frame31Bomb19:Bomb; public var Frame29Bomb13:Bomb; public var Frame29Bomb02:Bomb; public var Frame29Mesh02:MovieClip; public var Frame16Level07:MovieClip; public var Frame14Mesh01:MovieClip; public var Frame14Level01:MovieClip; public var Frame15Level06:MovieClip; public var Frame10Level05:MovieClip; public var Frame09Girl02:Girl; public var Trans7:transition_in; public var Frame07Level05:MovieClip; public var Frame06Level06:MovieClip; public var Frame02Goal02:MovieClip; public var Frame25Level04:MovieClip; public var Frame25Devil01:Devil; public var Frame24Level14:MovieClip; public var Frame24Mesh01:MovieClip; public var Frame24Level05:MovieClip; public var Frame23Bomb8:Bomb; public var Trans19:transition_in; public var Frame19Bomb04:Bomb; public var Frame19Mesh04:MovieClip; public var Frame18Bomb07:Bomb; public var Frame33Goal01:MovieClip; public var Frame33Bomb09:Bomb; public var Frame32Bomb08:Bomb; public var Frame32Mesh08:MovieClip; public var Frame28Bomb22:Bomb; public var Frame28Bomb15:Bomb; public var Frame28Bomb04:Bomb; public var Frame31Bomb18:Bomb; public var Frame29Bomb12:Bomb; public var Frame29Bomb05:Bomb; public var Frame29Level01:MovieClip; public var Frame16Level04:MovieClip; public var Frame14Level06:MovieClip; public var Frame15Level07:MovieClip; public var Frame15Mesh01:MovieClip; public var Frame09Level03:MovieClip; public var Trans8:transition_in; public var Frame08Level13:MovieClip; public var Frame07Level04:MovieClip; public var Frame06Level05:MovieClip; public var Frame04Level07:MovieClip; public var Frame03Level08:MovieClip; public var Frame03Goal02:MovieClip; public var Frame02Level09:MovieClip; public var helpBox1:MovieClip; public var __setPropDict:Dictionary; public var _spilGamesServices:SpilGamesServices; public var isSubmit:Boolean; public var xmlData:XML; public var my_menu:ContextMenu; public var allowed_site:String; public var domain:String; public var domain_idx:int; public var spilurl:String; public var requestSpilURL:URLRequest; public var simulator:Simulator; public function Game():void{ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29, 29, frame30, 30, frame31, 31, frame32, 32, frame33, 33, frame34, 34, frame35, 35, frame36, 36, frame37, 37, frame38, 38, frame39, 39, frame40, 40, frame41, 41, frame42, 42, frame43); simulator = new Simulator(); stage.addEventListener("LevelCompleted", levelCompletedListener); stage.addEventListener("LevelMissed", levelMissedListener); } public function onServicesReady(_arg1:Event):void{ trace(_spilGamesServices.isDomainAllowed()); isSubmit = true; } public function onServicesFailed(_arg1:Event):void{ trace("Submitter failed to load"); trace(_spilGamesServices.isDomainAllowed()); isSubmit = false; } public function PL_LOADING(_arg1:ProgressEvent):void{ var _local2:Number = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); mystery_block.gotoAndStop(int(_local2)); trace(("Percent= " + _local2)); if (_local2 == 100){ mystery_block.gotoAndPlay(100); loaderInfo.removeEventListener(ProgressEvent.PROGRESS, PL_LOADING); }; } public function gotoSite(_arg1:MouseEvent):void{ var e = _arg1; try { navigateToURL(requestSpilURL, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } public function goBack(_arg1:MouseEvent):void{ back_bt.removeEventListener(MouseEvent.CLICK, goBack); gotoAndPlay("GameMenu"); } public function goHome(_arg1:MouseEvent){ invBackButton.removeEventListener(MouseEvent.CLICK, goHome); MovieClip(root).simulator.init_SO(); gotoAndPlay("GameMenu"); } function levelCompletedListener(_arg1:Event):void{ play(); } function levelMissedListener(_arg1:Event):void{ simulator.beginSimulation(); } function __setProp___id0__Scene1_PreloaderIntroMenu_1(){ if ((((__setPropDict[__id0_] == undefined)) || (!((int(__setPropDict[__id0_]) == 2))))){ __setPropDict[__id0_] = 2; try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.popupLocation = "bottom"; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_credits_development_by_Scene1_PreloaderIntroMenu_3(){ if ((((__setPropDict[credits_development_by] == undefined)) || (!((int(__setPropDict[credits_development_by]) == 4))))){ __setPropDict[credits_development_by] = 4; try { credits_development_by["componentInspectorSetting"] = true; } catch(e:Error) { }; credits_development_by.text = "{credits_development_by}"; credits_development_by.textColor = 0xFFFFFF; credits_development_by.textSize = 22; credits_development_by.bold = false; credits_development_by.disableWordwrap = false; credits_development_by.embedFonts = true; credits_development_by.font = "Aharoni"; credits_development_by.hAlign = "center"; credits_development_by.multiline = true; credits_development_by.vAlign = "top"; credits_development_by.antiAliasType = "advanced"; credits_development_by.glowBlur = 3; credits_development_by.glowColor = 0; credits_development_by.useGlowFilter = false; credits_development_by.glowQuality = 1; credits_development_by.glowStrength = 5; credits_development_by.gridFitType = "pixel"; credits_development_by.italic = false; credits_development_by.selectable = false; credits_development_by.underline = false; try { credits_development_by["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_credits_music_by_Scene1_PreloaderIntroMenu_3(){ if ((((__setPropDict[credits_music_by] == undefined)) || (!((int(__setPropDict[credits_music_by]) == 4))))){ __setPropDict[credits_music_by] = 4; try { credits_music_by["componentInspectorSetting"] = true; } catch(e:Error) { }; credits_music_by.text = "{credits_music_by}"; credits_music_by.textColor = 0xFFFFFF; credits_music_by.textSize = 22; credits_music_by.bold = false; credits_music_by.disableWordwrap = false; credits_music_by.embedFonts = true; credits_music_by.font = "Aharoni"; credits_music_by.hAlign = "center"; credits_music_by.multiline = true; credits_music_by.vAlign = "top"; credits_music_by.antiAliasType = "advanced"; credits_music_by.glowBlur = 3; credits_music_by.glowColor = 0; credits_music_by.useGlowFilter = false; credits_music_by.glowQuality = 1; credits_music_by.glowStrength = 5; credits_music_by.gridFitType = "pixel"; credits_music_by.italic = false; credits_music_by.selectable = false; credits_music_by.underline = false; try { credits_music_by["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp_credits_title_Scene1_PreloaderIntroMenu_3(){ if ((((__setPropDict[credits_title] == undefined)) || (!((int(__setPropDict[credits_title]) == 4))))){ __setPropDict[credits_title] = 4; try { credits_title["componentInspectorSetting"] = true; } catch(e:Error) { }; credits_title.text = "{credits_title}"; credits_title.textColor = 13158; credits_title.textSize = 16; credits_title.bold = false; credits_title.disableWordwrap = false; credits_title.embedFonts = true; credits_title.font = "Aharoni"; credits_title.hAlign = "center"; credits_title.multiline = true; credits_title.vAlign = "top"; credits_title.antiAliasType = "advanced"; credits_title.glowBlur = 3; credits_title.glowColor = 0; credits_title.useGlowFilter = false; credits_title.glowQuality = 1; credits_title.glowStrength = 5; credits_title.gridFitType = "pixel"; credits_title.italic = false; credits_title.selectable = false; credits_title.underline = false; try { credits_title["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ MochiBot.track(this, "826f47c7"); stop(); _spilGamesServices = SpilGamesServices.getInstance(); _spilGamesServices.addEventListener("servicesReady", onServicesReady); _spilGamesServices.addEventListener("servicesFailed", onServicesFailed); _spilGamesServices.connect(this); isSubmit = false; xmlData = <LocalisedText><textItem identifier="general_loading"><en_us>Loading…</en_us><en_uk>Loading…</en_uk><nl>Laden...</nl><fr>Chargement en cours…</fr><de>Laden...</de><es>Cargando…</es><br>Carregando...</br><pt>A carregar...</pt><it>Caricamento…</it><se>Laddar ...</se><pl>Ładowanie...</pl><ru>Загрузка...</ru><id>Memuatkan…</id><ar>Loading…</ar><jp>Loading…</jp><cn>Loading…</cn><es_mx>Cargando...</es_mx><es_ar>Cargando...</es_ar></textItem><textItem identifier="btn_startgame"><en_us>Play</en_us><en_uk>Play</en_uk><nl>Spelen</nl><fr>Jouer</fr><de>Spielen</de><es>Jugar</es><br>Jogar</br><pt>Jogar</pt><it>Gioca</it><se>Spela</se><pl>Graj</pl><ru>Играть</ru><id>Mainkan</id><ar>Play</ar><jp>Play</jp><cn>Play</cn><es_mx>Jugar</es_mx><es_ar>Jugar</es_ar></textItem><textItem identifier="btn_continue"><en_us>Resume Game</en_us><en_uk>Resume Game</en_uk><nl>Spel hervatten</nl><fr>Reprendre le jeu</fr><de>Weiterspielen</de><es>Continuar partida</es><br>Continuar</br><pt>Retomar</pt><it>Riprendi gioco</it><se>Återgå spel</se><pl>Wznów grę</pl><ru>Продолжить игру</ru><id>Lanjutkan Game</id><ar>Resume Game</ar><jp>Resume Game</jp><cn>Resume Game</cn><es_mx>Reanudar juego</es_mx><es_ar>Reanudar juego</es_ar></textItem><textItem identifier="btn_walkthrough"><en_us>Walkthrough</en_us><en_uk>Walkthrough</en_uk><nl>Spieken</nl><fr>Solution</fr><de>Komplettlösung</de><es>Guía</es><br>Detonado</br><pt>Guia</pt><it>Guida al gioco</it><se>Genomgång</se><pl>Rozwiązanie</pl><ru>Прохождение</ru><id>Panduan Main</id><ar>Walkthrough</ar><jp>Walkthrough</jp><cn>Walkthrough</cn><es_mx>Solución</es_mx><es_ar>Solución</es_ar></textItem><textItem identifier="btn_credits"><en_us>Credits</en_us><en_uk>Credits</en_uk><nl>De makers</nl><fr>Crédits</fr><de>Credits</de><es>Créditos</es><br>Créditos</br><pt>Créditos</pt><it>Riconoscimenti</it><se>Tacklista</se><pl>Autorzy</pl><ru>Авторы</ru><id>Kredit</id><ar>Credits</ar><jp>Credits</jp><cn>Credits</cn><es_mx>Créditos</es_mx><es_ar>Créditos</es_ar></textItem><textItem identifier="btn_more_games"><en_us>More Games</en_us><en_uk>More Games</en_uk><nl>Meer spelletjes</nl><fr>Plus de jeux</fr><de>Mehr Spiele</de><es>Más juegos</es><br>Mais jogos</br><pt>Mais jogos</pt><it>Più giochi</it><se>Fler spel</se><pl>Więcej gier</pl><ru>Другие игры</ru><id>Game Lainnya</id><ar>More Games</ar><jp>More Games</jp><cn>More Games</cn><es_mx>Más juegos</es_mx><es_ar>Más juegos</es_ar></textItem><textItem identifier="credits_title"><en_us>Credits</en_us><en_uk>Credits</en_uk><nl>De makers</nl><fr>Crédits</fr><de>Credits</de><es>Créditos</es><br>Créditos</br><pt>Créditos</pt><it>Riconoscimenti</it><se>Tacklista</se><pl>Autorzy</pl><ru>Авторы</ru><id>Kredit</id><ar>Credits</ar><jp>Credits</jp><cn>Credits</cn><es_mx>Créditos</es_mx><es_ar>Créditos</es_ar></textItem><textItem identifier="credits_development_by"><en_us>Developed by</en_us><en_uk>Developed by</en_uk><nl>Ontwikkeld door</nl><fr>Mis au point par</fr><de>Entwicklung:</de><es>Desarrollado por</es><br>Desenvolvido por</br><pt>Desenvolvido por</pt><it>Sviluppato da</it><se>Utvecklat av</se><pl>Stworzono przez</pl><ru>Разработчик</ru><id>Dikembangkan oleh</id><ar>Developed by</ar><jp>Developed by</jp><cn>Developed by</cn><es_mx>Desarrollado por</es_mx><es_ar>Desarrollo por</es_ar></textItem><textItem identifier="credits_music_by"><en_us>Music by</en_us><en_uk>Music by</en_uk><nl>Muziek door</nl><fr>Musique par</fr><de>Musik:</de><es>Música de</es><br>Música por</br><pt>Música por</pt><it>Musica di</it><se>Musik av</se><pl>Muzyka</pl><ru>Музыка</ru><id>Musik oleh</id><ar>Music by</ar><jp>Music by</jp><cn>Music by</cn><es_mx>Música por</es_mx><es_ar>Música por</es_ar></textItem><textItem identifier="talk_simple_1"><en_us>Hi! I&apos;m a block.</en_us><en_uk>Hi! I&apos;m a block.</en_uk><nl>Hoi! Ik ben een blokje.</nl><fr>Salut ! Je suis un bloc.</fr><de>Hi! Ich bin ein Block!</de><es>¡Hola! Soy un bloque.</es><br>Oi! Eu sou um bloco.</br><pt>Olá! Eu sou um bloco.</pt><it>Ciao! Sono un blocco.</it><se>Hej! Jag är ett block.</se><pl>Cześć! Jestem klockiem.</pl><ru>Привет! Я блок.</ru><id>Hai! saya sebuah blok.</id><ar>Hi! I&apos;m a block.</ar><jp>Hi! I&apos;m a block.</jp><cn>Hi! I&apos;m a block.</cn><es_mx>¡Hola! Soy un bloque.</es_mx><es_ar>¡Hola! Soy un bloque.</es_ar></textItem><textItem identifier="talk_simple_2"><en_us>Pick me up and throw me at the dotted box!</en_us><en_uk>Pick me up and throw me at the dotted box!</en_uk><nl>Raap me op en gooi me in het gestippelde vak!</nl><fr>Ramasse-moi et jette-moi vers la boîte en pointillés !</fr><de>Heb mich auf und wirf mich gegen die gepunktete Box!</de><es>¡Cógeme y lánzame contra el cuadro delineado!</es><br>Pegue em mim e me jogue contra a caixa com pintas!</br><pt>Pega em mim e atira-te contra a caixa às pintas!</pt><it>Prendimi e tirami nel riquadro con le linee tratteggiate!</it><se>Ta upp mig och kasta mig i den prickiga lådan!</se><pl>Podnieś mnie i umieść w zakropkowanym obszarze!</pl><ru>Возьми меня и забрось в коробку, нарисованную пунктиром!</ru><id>Ambil saya dan lemparkan saya ke blok tutul.</id><ar>Pick me up and throw me at the dotted box!</ar><jp>Pick me up and throw me at the dotted box!</jp><cn>Pick me up and throw me at the dotted box!</cn><es_mx>¡Recógeme y lánzame hacia el cuadro punteado!</es_mx><es_ar>¡Levantame y tirame a la caja con puntos!</es_ar></textItem><textItem identifier="help_box_1"><en_us>Get the block to the dotted box.</en_us><en_uk>Get the block to the dotted box.</en_uk><nl>Breng het blokje naar het gestippelde vak.</nl><fr>Le bloc doit atteindre la boîte en pointillés.</fr><de>Bring den Block zur gepunkteten Box.</de><es>Tira el bloque al cuadro delineado.</es><br>Jogue o bloco na caixa com pintas.</br><pt>Atira o bloco até à caixa às pintas.</pt><it>Tira il blocco nel riquadro con le linee tratteggiate.</it><se>Få blocket i den prickiga lådan.</se><pl>Umieść klocek na zakropkowanym obszarze.</pl><ru>Доставь блок в коробку, нарисованную пунктиром.</ru><id>Ambil blok ke blok tutul.</id><ar>Get the block to the dotted box.</ar><jp>Get the block to the dotted box.</jp><cn>Get the block to the dotted box.</cn><es_mx>Coloca el bloque en el cuadro punteado.</es_mx><es_ar>Llevá el bloque hasta la caja con puntos.</es_ar></textItem><textItem identifier="help_box_2"><en_us>You can pick one block up while another&apos;s falling.</en_us><en_uk>You can pick one block up while another one is falling.</en_uk><nl>Je kunt een blokje ook oppakken als een ander blokje naar beneden valt.</nl><fr>Tu peux ramasser un bloc tandis qu&apos;un autre est en train de tomber.</fr><de>Du kannst einen Block auflesen, während ein anderer herabfällt.</de><es>Puedes coger un bloque mientras otro está cayendo.</es><br>Você pode pegar um bloco quando outro está caindo.</br><pt>Podes pegar num bloco quando outro está em queda.</pt><it>Puoi prendere un blocco mentre ne cade un altro.</it><se>Du kan plocka upp ett block medan ett annat faller.</se><pl>Możesz podnieść jeden klocek, podczas gdy inny spada.</pl><ru>Ты можешь взять следующий блок, пока предыдущий падает.</ru><id>Kamu dapat mengambil satu blok ke atas ketika yang lainnya jatuh.</id><ar>You can pick one block up while another&apos;s falling.</ar><jp>You can pick one block up while another&apos;s falling.</jp><cn>You can pick one block up while another&apos;s falling.</cn><es_mx>Puedes recoger un bloque mientras cae otro.</es_mx><es_ar>Podés agarrar un bloque mientras otro bloque cae.</es_ar></textItem><textItem identifier="help_box_3"><en_us>Watch out for the mesh wire!</en_us><en_uk>Watch out for the mesh wire!</en_uk><nl>Pas op voor het gaas!</nl><fr>Fais attention au grillage !</fr><de>Aber hüte dich vor dem Gitterzaun!</de><es>¡Cuidado con el alambre de espino!</es><br>Cuidado com a malha de arame!</br><pt>Cuidado com a rede de arame!</pt><it>Fai attenzione alla rete metallica!</it><se>Se upp för gallret!</se><pl>Uważaj na obszar utraty kontroli!</pl><ru>Остерегайся сетки!</ru><id>Hati-hati dengan kawat penyaring!</id><ar>Watch out for the mesh wire!</ar><jp>Watch out for the mesh wire!</jp><cn>Watch out for the mesh wire!</cn><es_mx>¡Ten cuidado con la malla metálica!</es_mx><es_ar>¡Cuidado con el alambrado!</es_ar></textItem><textItem identifier="talk_girl_1"><en_us>We&apos;re girly blocks!</en_us><en_uk>We&apos;re girly blocks!</en_uk><nl>Wij zijn meisjesblokken!</nl><fr>Nous sommes des blocs filles !</fr><de>Wir Blöcke sind ziemlich mädchenhaft!</de><es>¡Somos bloques chicas!</es><br>Nós somos as blocas!</br><pt>Nós somos bloquinhas!</pt><it>Siamo delle blocchine!</it><se>Vi är tjejiga block!</se><pl>Jesteśmy dziewczęcymi klockami!</pl><ru>Мы блоки-девчонки!</ru><id>Kami blok-blok cewek!</id><ar>We&apos;re girly blocks!</ar><jp>We&apos;re girly blocks!</jp><cn>We&apos;re girly blocks!</cn><es_mx>¡Nosotras somos bloques chicas!</es_mx><es_ar>¡Somos chicas bloque!</es_ar></textItem><textItem identifier="talk_girl_2"><en_us>We&apos;re shy…</en_us><en_uk>We&apos;re shy…</en_uk><nl>We zijn verlegen...</nl><fr>Nous sommes timides…</fr><de>Wir sind scheu...</de><es>Muy tímidas…</es><br>A gente é um pouco tímida...</br><pt>Somos envergonhadas...</pt><it>Siamo timide…</it><se>Vi är blyga ...</se><pl>Jesteśmy nieśmiałe...</pl><ru>Мы такие стеснительные...</ru><id>Kami pemalu…</id><ar>We&apos;re shy…</ar><jp>We&apos;re shy…</jp><cn>We&apos;re shy…</cn><es_mx>Somos tímidas...</es_mx><es_ar>Somos tímidas…</es_ar></textItem><textItem identifier="talk_girl_3"><en_us>We don&apos;t like to touch.</en_us><en_uk>We don&apos;t like to touch.</en_uk><nl>We raken elkaar niet graag aan.</nl><fr>Nous n&apos;aimons pas les contacts.</fr><de>Wir mögen es nicht, angefasst zu werden.</de><es>No nos gusta que nos toquen.</es><br>Não gostamos muito que toquem em nós.</br><pt>Não gostamos que nos toquem.</pt><it>Non ci piace il contatto.</it><se>Vi tycker inte om att nudda varandra.</se><pl>Nie lubimy się dotykać.</pl><ru>Нам не нравятся прикосновения.</ru><id>Kami tidak suka menyentuh.</id><ar>We don&apos;t like to touch.</ar><jp>We don&apos;t like to touch.</jp><cn>We don&apos;t like to touch.</cn><es_mx>No nos gusta que nos toquen.</es_mx><es_ar>No nos gusta el contacto.</es_ar></textItem><textItem identifier="help_box_4"><en_us>Cash in stars at the menu to skip hard levels!</en_us><en_uk>Cash in stars at the menu to skip hard levels!</en_uk><nl>Lever in het menu sterren in om de moeilijke levels over te slaan!</nl><fr>Dépense des étoiles dans le menu pour passer des niveaux difficiles !</fr><de>Investiere im Menü Sterne, um schwierige Level zu überspringen!</de><es>¡Canjea las estrellas en el menú para saltar niveles difíciles!</es><br>Use estrelas no menu para avançar fases difíceis demais!</br><pt>Converte estrelas no menu para avançares níveis realmente difíceis!</pt><it>Spendi le stelle nel menu per saltare i livelli difficili!</it><se>Spendera stjärnor på menyn för att hoppa över svåra nivåer!</se><pl>Wydaj gwiazdy w menu, aby pominąć trudne poziomy!</pl><ru>Трать звезды в меню, чтобы пропустить сложные уровни.</ru><id>Uangkan bintang-bintang di menu untuk melewati level-level susah!</id><ar>Cash in stars at the menu to skip hard levels!</ar><jp>Cash in stars at the menu to skip hard levels!</jp><cn>Cash in stars at the menu to skip hard levels!</cn><es_mx>¡Usa el dinero que está en la estrella del menú para saltar los niveles difíciles!</es_mx><es_ar>Usá estrellas en el menú para zafar de los niveles difíciles.</es_ar></textItem><textItem identifier="talk_tech_1"><en_us>GREETINGS. I&apos;M A BOT BLOCK.</en_us><en_uk>GREETINGS. I&apos;M A BOT BLOCK.</en_uk><nl>GEGROET. IK BEN EEN ROBOBLOK.</nl><fr>BONJOUR. JE SUIS UN ROBOBLOC.</fr><de>SEI GEGRÜSST. ICH BIN EIN ROBOTERBLOCK.</de><es>SALUDOS, SOY UN BLOQUE ROBOT.</es><br>SAUDAÇÕES. EU SOU UM BLOCO ROBÔ.</br><pt>SAUDAÇÕES. EU SOU UM BLOCO ROBÔ.</pt><it>SALVE. SONO UN ROBOBLOCCO.</it><se>Var hälsad. Jag är ett robotblock.</se><pl>WITAJ. JESTEM KLOCKIEM-BOTEM.</pl><ru>ПРИВЕТСТВУЮ. Я БЛОК-РОБОТ.</ru><id>SALAM. SAYA BLOK BOT.</id><ar>GREETINGS. I&apos;M A BOT BLOCK.</ar><jp>GREETINGS. I&apos;M A BOT BLOCK.</jp><cn>GREETINGS. I&apos;M A BOT BLOCK.</cn><es_mx>HOLA, YO SOY UN BLOQUE ROBOT.</es_mx><es_ar>SALUDOS. SOY UN BLOQUE ROBOT.</es_ar></textItem><textItem identifier="talk_tech_2"><en_us>GRAVITY DOES NOT AFFECT ME.</en_us><en_uk>GRAVITY DOES NOT AFFECT ME.</en_uk><nl>DE ZWAARTEKRACHT DOET MIJ NIETS.</nl><fr>LA GRAVITÉ NE S&apos;EXERCE PAS SUR MOI.</fr><de>DIE SCHWERKRAFT MACHT MIR NICHTS AUS.</de><es>LA GRAVEDAD NO ME AFECTA.</es><br>NÃO SOU AFETADO PELA GRAVIDADE.</br><pt>NÃO SOU AFECTADO PELA GRAVIDADE.</pt><it>LA GRAVITÀ NON MI FA NIENTE.</it><se>Tyngdkraften påverkar inte mig.</se><pl>GRAWITACJA NA MNIE NIE DZIAŁA.</pl><ru>НА МЕНЯ НЕ ДЕЙСТВУЕТ СИЛА ТЯЖЕСТИ.</ru><id>GRAVITASI TIDAK MEMPENGARUHI SAYA.</id><ar>GRAVITY DOES NOT AFFECT ME.</ar><jp>GRAVITY DOES NOT AFFECT ME.</jp><cn>GRAVITY DOES NOT AFFECT ME.</cn><es_mx>LA GRAVEDAD NO ME AFECTA.</es_mx><es_ar>LA GRAVEDAD NO ME AFECTA.</es_ar></textItem><textItem identifier="help_box_5"><en_us>Bombs explode on contact!</en_us><en_uk>Bombs explode on contact!</en_uk><nl>Bommen ontploffen als ze aangeraakt worden!</nl><fr>Les bombes explosent quand on les touche !</fr><de>Bomben explodieren bei Berührung!</de><es>¡Las bombas explotan al tocarlas!</es><br>As bombas explodem no contato!</br><pt>As bombas explodem no contacto!</pt><it>Le bombe esplodono al contatto!</it><se>Bomber exploderar vid kontakt!</se><pl>Bomby eksplodują przy kontakcie!</pl><ru>Бомбы взрываются при прикосновении!</ru><id>Bom meledak jika berkontak!</id><ar>Bombs explode on contact!</ar><jp>Bombs explode on contact!</jp><cn>Bombs explode on contact!</cn><es_mx>¡Las bombas explotan al contacto!</es_mx><es_ar>¡Las bombas explotan cuando las tocan!</es_ar></textItem><textItem identifier="talk_devil_1"><en_us>Muahaha! I&apos;m a devilish block.</en_us><en_uk>Muahaha! I&apos;m a devilish block.</en_uk><nl>Mwahaha! Ik ben een duivels blokje!</nl><fr>Ahahaha ! Je suis un bloc du diable.</fr><de>Muahaha! Ich bin ein teuflischer Block!</de><es>¡Muajajaja! Soy un bloque diabólico.</es><br>AHAHAHAH! Eu sou um bloco demônio.</br><pt>AHAHAHAH! Eu seu um bloco demoníaco.</pt><it>Muahaha! Sono un blocco diabolico.</it><se>Muahaha! Jag är ett djävulskt block.</se><pl>Muahahaha! Jestem diabelskim klockiem.</pl><ru>Ха-ха-ха! Я дьявольский блок!</ru><id>Huahaha! Saya blok iblis.</id><ar>Muahaha! I&apos;m a devilish block.</ar><jp>Muahaha! I&apos;m a devilish block.</jp><cn>Muahaha! I&apos;m a devilish block.</cn><es_mx>¡Guaca guaca! Yo soy un bloque malévolo.</es_mx><es_ar>¡Muajajaja! Soy un bloque endiablado.</es_ar></textItem><textItem identifier="talk_devil_2"><en_us>Things&apos;ll get devilishly difficult for you now...</en_us><en_uk>Things will get devilishly difficult for you now...</en_uk><nl>Ik maak het je verduiveld moeilijk...</nl><fr>Tout va maintenant devenir pour toi diablement difficile...</fr><de>Aber sofort wird es teuflisch schwierig für dich werden!</de><es>Las cosas se te pondrán endiabladamente difíciles ahora…</es><br>Agora é que sua barra vai pesar...</br><pt>Agora é que as coisas vão complicar para ti...</pt><it>Ora le cose diventeranno diabolicamente difficili per te…</it><se>Nu kommer det bli djävulskt svårt för dig ...</se><pl>Od teraz wszystko stanie się dla ciebie diabelnie trudne...</pl><ru>Тебя ждут чертовски сложные уровни...</ru><id>Hal-hal akan menjadi sangat sulit bagimu sekarang…</id><ar>Things&apos;ll get devilishly difficult for you now...</ar><jp>Things&apos;ll get devilishly difficult for you now...</jp><cn>Things&apos;ll get devilishly difficult for you now...</cn><es_mx>Me encargaré de ponerte las cosas difíciles...</es_mx><es_ar>Las cosas se van a poner endiabladamente difíciles ahora...</es_ar></textItem><textItem identifier="general_click_continue"><en_us>Click to Continue</en_us><en_uk>Click to Continue</en_uk><nl>Klik om door te gaan</nl><fr>Clique pour continuer</fr><de>Klicken zum Fortfahren</de><es>Haz clic para continuar</es><br>Clique para continuar</br><pt>Clica para continuar</pt><it>Clicca per continuare</it><se>Klicka för att fortsätta</se><pl>Kliknij, aby kontynuować</pl><ru>Щелкни для продолжения</ru><id>Klik untuk Melanjutkan</id><ar>Click to Continue</ar><jp>Click to Continue</jp><cn>Click to Continue</cn><es_mx>Haz clic para continuar</es_mx><es_ar>Hacé clic para continuar</es_ar></textItem><textItem identifier="general_total_stars"><en_us>Total Stars:</en_us><en_uk>Total Stars:</en_uk><nl>Totaal aantal sterren:</nl><fr>Total des étoiles :</fr><de>Sterne insgesamt:</de><es>Estrellas totales:</es><br>Total de estrelas:</br><pt>Total de estrelas:</pt><it>Totale stelle:</it><se>Stjärnor totalt:</se><pl>Łącznie gwiazd:</pl><ru>Всего звезд:</ru><id>Total Bintang:</id><ar>Total Stars:</ar><jp>Total Stars:</jp><cn>Total Stars:</cn><es_mx>Total de estrellas:</es_mx><es_ar>Estrellas totales:</es_ar></textItem><textItem identifier="general_click_restart"><en_us>Click to Replay</en_us><en_uk>Click to Replay</en_uk><nl>Klik om opnieuw te spelen</nl><fr>Clique pour rejouer</fr><de>Klicken zum nochmal Spielen</de><es>Haz clic para jugar de nuevo</es><br>Clique para repetir</br><pt>Clica para repetir</pt><it>Clicca per riavviare</it><se>Klicka för att spela om</se><pl>Kliknij, aby powtórzyć</pl><ru>Щелкни, чтобы сыграть еще раз</ru><id>Klik untuk memainkan ulang</id><ar>Click to Replay</ar><jp>Click to Replay</jp><cn>Click to Replay</cn><es_mx>Haz clic para jugar de nuevo</es_mx><es_ar>Hacé clic para repetir</es_ar></textItem><textItem identifier="general_congrats"><en_us>CONGRATS!</en_us><en_uk>CONGRATULATIONS!</en_uk><nl>GEFELICITEERD!</nl><fr>FÉLICITATIONS !</fr><de>GLÜCKWUNSCH!</de><es>¡ENHORABUENA!</es><br>PARABÉNS!</br><pt>PARABÉNS!</pt><it>COMPLIMENTI!</it><se>GRATULERAR!</se><pl>GRATULACJE!</pl><ru>ПОЗДРАВЛЯЕМ!</ru><id>SELAMAT!</id><ar>CONGRATS!</ar><jp>CONGRATS!</jp><cn>CONGRATS!</cn><es_mx>¡FELICITACIONES!</es_mx><es_ar>¡FELICITACIONES!</es_ar></textItem><textItem identifier="end_poor"><en_us>Uh Oh…</en_us><en_uk>Uh Oh…</en_uk><nl>Oeps...</nl><fr>On non…</fr><de>Oh oh!</de><es>Oh, oh…</es><br>Oh, não…</br><pt>Oh, não…</pt><it>Oh oh…</it><se>Åh nej ...</se><pl>Ojej...</pl><ru>Да уж...</ru><id>Oh oh…</id><ar>Uh Oh…</ar><jp>Uh Oh…</jp><cn>Uh Oh…</cn><es_mx>Oh, oh...</es_mx><es_ar>Oh, oh…</es_ar></textItem><textItem identifier="end_ok"><en_us>OK…</en_us><en_uk>OK…</en_uk><nl>OK...</nl><fr>Ok…</fr><de>Okay…</de><es>Bueno…</es><br>OK…</br><pt>OK…</pt><it>OK…</it><se>OK ...</se><pl>OK...</pl><ru>Сойдет...</ru><id>OK…</id><ar>OK…</ar><jp>OK…</jp><cn>OK…</cn><es_mx>OK...</es_mx><es_ar>Ok…</es_ar></textItem><textItem identifier="end_good"><en_us>Good</en_us><en_uk>Good</en_uk><nl>Goed zo!</nl><fr>Bien</fr><de>Gut</de><es>Bien</es><br>Bom</br><pt>Bom</pt><it>Bene</it><se>Bra</se><pl>Dobrze</pl><ru>Хорошо</ru><id>Bagus</id><ar>Good</ar><jp>Good</jp><cn>Good</cn><es_mx>Bien</es_mx><es_ar>Bien</es_ar></textItem><textItem identifier="end_great"><en_us>Great!</en_us><en_uk>Great!</en_uk><nl>Fantastisch!</nl><fr>Super !</fr><de>Großartig!</de><es>¡Genial!</es><br>Ótimo!</br><pt>Óptimo!</pt><it>Ottimo!</it><se>Jättebra!</se><pl>Świetnie!</pl><ru>Отлично!</ru><id>Hebat!</id><ar>Great!</ar><jp>Great!</jp><cn>Great!</cn><es_mx>¡Grandioso!</es_mx><es_ar>¡Muy bien!</es_ar></textItem><textItem identifier="end_perfect"><en_us>Perfect!</en_us><en_uk>Perfect!</en_uk><nl>Perfect!</nl><fr>Parfait !</fr><de>Perfekt!</de><es>¡Perfecto!</es><br>Perfeito!</br><pt>Perfeito!</pt><it>Perfetto!</it><se>Perfekt!</se><pl>Doskonale!</pl><ru>Супер!</ru><id>Sempurna!</id><ar>Perfect!</ar><jp>Perfect!</jp><cn>Perfect!</cn><es_mx>¡Perfecto!</es_mx><es_ar>¡Perfecto!</es_ar></textItem><textItem identifier="btn_back"><en_us>Back</en_us><en_uk>Back</en_uk><nl>Terug</nl><fr>Retour</fr><de>Zurück</de><es>Atrás</es><br>Voltar</br><pt>Voltar</pt><it>Indietro</it><se>Tillbaka</se><pl>Powrót</pl><ru>Назад</ru><id>Kembali</id><ar>Back</ar><jp>Back</jp><cn>Back</cn><es_mx>Atrás</es_mx><es_ar>Atrás</es_ar></textItem><textItem identifier="menu_menu"><en_us>Menu</en_us><en_uk>Menu</en_uk><nl>Menu</nl><fr>Menu</fr><de>Menü</de><es>Menú</es><br>Menu</br><pt>Menu</pt><it>Menu</it><se>Meny</se><pl>Menu</pl><ru>Меню</ru><id>Menu</id><ar>Menu</ar><jp>Menu</jp><cn>Menu</cn><es_mx>Menú</es_mx><es_ar>Menú</es_ar></textItem><textItem identifier="menu_sfx"><en_us>SFX</en_us><en_uk>SFX</en_uk><nl>Geluid</nl><fr>Effets sonores</fr><de>Effekte</de><es>Efectos</es><br>SFX</br><pt>S&amp;E</pt><it>Effetti audio</it><se>Ljudeffekter</se><pl>SFX</pl><ru>Звук</ru><id>Efek Suara</id><ar>SFX</ar><jp>SFX</jp><cn>SFX</cn><es_mx>Efectos de sonido</es_mx><es_ar>Efectos de sonido</es_ar></textItem><textItem identifier="general_level_failed"><en_us>Level Failed…</en_us><en_uk>Level Failed…</en_uk><nl>Level mislukt...</nl><fr>Niveau échoué…</fr><de>Level fehlgeschlagen…</de><es>Nivel fallado…</es><br>Fase perdida...</br><pt>Nível falhado…</pt><it>Livello fallito...</it><se>Nivå ej klarad ...</se><pl>Poziom niezaliczony...</pl><ru>Не вышло...</ru><id>Level Gagal…</id><ar>Level Failed…</ar><jp>Level Failed…</jp><cn>Level Failed…</cn><es_mx>Nivel no superado</es_mx><es_ar>No superaste el nivel…</es_ar></textItem><textItem identifier="general_level_complete"><en_us>Level Complete!</en_us><en_uk>Level Complete!</en_uk><nl>Level voltooid!</nl><fr>Niveau réussi !</fr><de>Level abgeschlossen!</de><es>¡Nivel terminado!</es><br>Fase concluída!</br><pt>Nível terminado!</pt><it>Livello completato!</it><se>Nivå klarad!</se><pl>Poziom ukończony!</pl><ru>Уровень пройден!</ru><id>Level Selesai!</id><ar>Level Complete!</ar><jp>Level Complete!</jp><cn>Level Complete!</cn><es_mx>¡Nivel superado!</es_mx><es_ar>¡Nivel completado!</es_ar></textItem></LocalisedText> ; SpilGame.importXMLv2(xmlData); trace("Language Data Succesfully included"); Languages.initialize(); SpilGame.initialize("Blocks", PortalGroup.FAMILY, "Blocks.html", this, true); my_menu = new ContextMenu(); my_menu.hideBuiltInItems(); contextMenu = my_menu; allowed_site = "flashgamelicense.com"; domain = this.root.loaderInfo.url.split("/")[2]; domain_idx = domain.indexOf(allowed_site); if (((!((domain_idx == -1))) && ((domain_idx == (domain.length - allowed_site.length))))){ loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING); } else { trace("sitelocked"); loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING); }; } function frame2(){ __setProp___id0__Scene1_PreloaderIntroMenu_1(); stop(); spilurl = "http://gameportal.net"; requestSpilURL = new URLRequest(spilurl); SpilGamesButton.addEventListener(MouseEvent.CLICK, gotoSite); stage.addChild(simulator); simulator.playMenuMusic(); } function frame3(){ stop(); } function frame4(){ __setProp_credits_title_Scene1_PreloaderIntroMenu_3(); __setProp_credits_music_by_Scene1_PreloaderIntroMenu_3(); __setProp_credits_development_by_Scene1_PreloaderIntroMenu_3(); stop(); back_bt.addEventListener(MouseEvent.CLICK, goBack); } function frame5(){ MovieClip(root).simulator.init_SO(); } function frame6(){ stop(); } function frame7(){ stop(); simulator.beginSimulation(); } function frame8(){ stop(); simulator.beginSimulation(); } function frame9(){ stop(); simulator.beginSimulation(); } function frame10(){ stop(); simulator.beginSimulation(); } function frame11(){ stop(); simulator.beginSimulation(); } function frame12(){ stop(); simulator.beginSimulation(); } function frame13(){ stop(); simulator.beginSimulation(); } function frame14(){ stop(); simulator.beginSimulation(); } function frame15(){ stop(); if (isSubmit){ AwardsService.submitAward("award1"); }; } function frame16(){ stop(); simulator.beginSimulation(); } function frame17(){ stop(); simulator.beginSimulation(); } function frame18(){ stop(); simulator.beginSimulation(); } function frame19(){ stop(); simulator.beginSimulation(); } function frame20(){ stop(); simulator.beginSimulation(); } function frame21(){ stop(); simulator.beginSimulation(); } function frame22(){ stop(); simulator.beginSimulation(); } function frame23(){ stop(); simulator.beginSimulation(); } function frame24(){ stop(); if (isSubmit){ AwardsService.submitAward("award2"); }; } function frame25(){ stop(); simulator.beginSimulation(); } function frame26(){ stop(); simulator.beginSimulation(); } function frame27(){ stop(); simulator.beginSimulation(); } function frame28(){ stop(); simulator.beginSimulation(); } function frame29(){ stop(); simulator.beginSimulation(); } function frame30(){ stop(); simulator.beginSimulation(); } function frame31(){ stop(); simulator.beginSimulation(); } function frame32(){ stop(); simulator.beginSimulation(); } function frame33(){ stop(); if (isSubmit){ AwardsService.submitAward("award3"); }; } function frame34(){ stop(); simulator.beginSimulation(); } function frame35(){ stop(); simulator.beginSimulation(); } function frame36(){ stop(); simulator.beginSimulation(); } function frame37(){ stop(); simulator.beginSimulation(); } function frame38(){ stop(); simulator.beginSimulation(); } function frame39(){ stop(); simulator.beginSimulation(); } function frame40(){ stop(); simulator.beginSimulation(); } function frame41(){ stop(); simulator.beginSimulation(); } function frame42(){ stop(); simulator.beginSimulation(); } function frame43(){ stop(); if (isSubmit){ AwardsService.submitAward("award4"); if ((MovieClip(root).simulator.getTotalStars() + 1) >= 7){ AwardsService.submitAward("award5"); }; }; star_clip.gotoAndStop((MovieClip(root).simulator.getTotalStars() + 1)); invBackButton.addEventListener(MouseEvent.CLICK, goHome); } } }//package
Section 157
//GameplayMusic (GameplayMusic) package { import flash.media.*; public dynamic class GameplayMusic extends Sound { } }//package
Section 158
//Girl (Girl) package { import flash.display.*; import Simulation.*; public class Girl extends MovieClip { public var eyes:GirlEyes; private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var isHappy:Boolean;// = true public var newIsHappy:Boolean;// = true public var isOnGoal:Boolean;// = false public var isExploded:Boolean;// = false public var stateChanged:Boolean;// = true public var isOutOfBounds:Boolean;// = false public var collided:Boolean;// = false private var collisionsCount:int;// = 0 public function Girl():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 3, frame4, 4, frame5, 8, frame9, 9, frame10, 13, frame14, 14, frame15, 18, frame19); } public function updateState():void{ if (newIsHappy != isHappy){ stateChanged = true; isHappy = newIsHappy; }; if (stateChanged){ if (((isHappy) && (isOnGoal))){ gotoAndPlay(parameters.GIRLBOX_HAPPY_ONGOAL_FRAME); }; if (((isHappy) && (!(isOnGoal)))){ gotoAndPlay(parameters.GIRLBOX_HAPPY_NOTONGOAL_FRAME); }; if (((!(isHappy)) && (isOnGoal))){ gotoAndPlay(parameters.GIRLBOX_UNHAPPY_ONGOAL_FRAME); }; if (((!(isHappy)) && (!(isOnGoal)))){ gotoAndPlay(parameters.GIRLBOX_UNHAPPY_NOTONGOAL_FRAME); }; stateChanged = false; }; newIsHappy = true; } public function resetState():void{ isExploded = false; isOnGoal = false; isHappy = true; stateChanged = true; collided = false; collisionsCount = 0; isOutOfBounds = false; } public function processCollisions():void{ } public function isTouching():void{ newIsHappy = false; } public function exploded():void{ gotoAndPlay(parameters.GIRLBOX_EXPLODED_FRAME); isExploded = true; } function frame1(){ } function frame4(){ gotoAndPlay(1); } function frame5(){ } function frame9(){ gotoAndPlay(5); } function frame10(){ } function frame14(){ gotoAndPlay(10); } function frame15(){ } function frame19(){ gotoAndPlay(15); } } }//package
Section 159
//GirlEyes (GirlEyes) package { import flash.display.*; import Simulation.*; public class GirlEyes extends MovieClip { public var leftDot:MovieClip; public var rightDot:MovieClip; private var parameters:Parameters; public var eyesState:String; public var stateDuration:int;// = 1 public var followScale:int; public var followScaleDelta:int; private var leftDotX:Number;// = 0 private var leftDotY:Number;// = 0 private var rightDotX:Number;// = 0 private var rightDotY:Number;// = 0 public function GirlEyes():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 1, frame2, 31, frame32, 32, frame33); } public function updateEyes():void{ if (eyesState == "stare"){ if (--stateDuration < 0){ eyesState = "blink"; play(); }; } else { if (eyesState == "follow"){ if ((((leftDotX == 0)) && ((rightDotY == 0)))){ leftDotX = leftDot.x; leftDotY = leftDot.y; rightDotX = rightDot.x; rightDotY = rightDot.y; }; if (--stateDuration < 0){ eyesState = "blink"; play(); }; leftDot.x = (leftDotX + ((leftDot.mouseX / parameters.STAGE_WIDTH) * parameters.EYES_RADIUS)); leftDot.y = (leftDotY + ((leftDot.mouseY / parameters.STAGE_HEIGHT) * parameters.EYES_RADIUS)); rightDot.x = (rightDotX + ((rightDot.mouseX / parameters.STAGE_WIDTH) * parameters.EYES_RADIUS)); rightDot.y = (rightDotY + ((rightDot.mouseY / parameters.STAGE_HEIGHT) * parameters.EYES_RADIUS)); }; }; } function frame1(){ stop(); eyesState = "stare"; stateDuration = int((((Math.random() * 2) * parameters.EYES_AVERAGE_STARE) * parameters.SIMULATOR_FRAME_RATE)); } function frame2(){ eyesState = "blink"; } function frame32(){ stop(); eyesState = "follow"; stateDuration = int((((Math.random() * 2) * parameters.EYES_AVERAGE_FOLLOW) * parameters.SIMULATOR_FRAME_RATE)); followScale = 0; followScaleDelta = 1; } function frame33(){ eyesState = "blink"; } } }//package
Section 160
//GirlTalk (GirlTalk) package { import flash.media.*; public dynamic class GirlTalk extends Sound { } }//package
Section 161
//GirlTalk1 (GirlTalk1) package { import flash.media.*; public dynamic class GirlTalk1 extends Sound { } }//package
Section 162
//GirlTalk2 (GirlTalk2) package { import flash.media.*; public dynamic class GirlTalk2 extends Sound { } }//package
Section 163
//GirlTalk3 (GirlTalk3) package { import flash.media.*; public dynamic class GirlTalk3 extends Sound { } }//package
Section 164
//Goal (Goal) package { import flash.display.*; public class Goal extends MovieClip { public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var collided:Boolean;// = false public function Goal():void{ } public function updateState():void{ } public function resetState():void{ } public function processCollisions():void{ } } }//package
Section 165
//HelpBox (HelpBox) package { import flash.display.*; import flash.text.*; import flash.events.*; public class HelpBox extends MovieClip { public var invButtonClose:invButton; public var invButtonOpen:invButton; public var myText:TextField; private var myString:String;// = "" public function HelpBox(){ addFrameScript(0, frame1, 1, frame2); } public function CloseFrame(_arg1:MouseEvent):void{ gotoAndPlay(2); } public function OpenFrame(_arg1:MouseEvent):void{ gotoAndPlay(1); } public function setLabel(_arg1:String):void{ myString = _arg1; } function frame1(){ stop(); myText.text = myString; invButtonClose.addEventListener(MouseEvent.CLICK, CloseFrame); } function frame2(){ stop(); invButtonOpen.addEventListener(MouseEvent.CLICK, OpenFrame); } } }//package
Section 166
//intro_anim (intro_anim) package { import flash.display.*; public dynamic class intro_anim extends MovieClip { public var leftDot:MovieClip; public var eyes:MovieClip; public var rightDot:MovieClip; public function intro_anim(){ addFrameScript(79, frame80); } function frame80(){ this.stop(); } } }//package
Section 167
//invButton (invButton) package { import flash.display.*; public dynamic class invButton extends MovieClip { } }//package
Section 168
//Level (Level) package { import flash.display.*; public class Level extends MovieClip { public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var collided:Boolean;// = false public function Level():void{ } public function updateState():void{ } public function resetState():void{ } public function processCollisions():void{ } } }//package
Section 169
//LostPopUp (LostPopUp) package { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class LostPopUp extends MovieClip { public var general_click_restart:LocalizedTextField; public var general_level_failed:LocalizedTextField; public function LostPopUp(){ __setProp_general_click_restart_LostPopUp_Layer1_0(); __setProp_general_level_failed_LostPopUp_Layer1_0(); } function __setProp_general_click_restart_LostPopUp_Layer1_0(){ try { general_click_restart["componentInspectorSetting"] = true; } catch(e:Error) { }; general_click_restart.text = "{general_click_restart}"; general_click_restart.textColor = 0xFFFFFF; general_click_restart.textSize = 18; general_click_restart.bold = false; general_click_restart.disableWordwrap = false; general_click_restart.embedFonts = true; general_click_restart.font = "Candara"; general_click_restart.hAlign = "center"; general_click_restart.multiline = true; general_click_restart.vAlign = "top"; general_click_restart.antiAliasType = "advanced"; general_click_restart.glowBlur = 3; general_click_restart.glowColor = 0; general_click_restart.useGlowFilter = false; general_click_restart.glowQuality = 1; general_click_restart.glowStrength = 5; general_click_restart.gridFitType = "pixel"; general_click_restart.italic = false; general_click_restart.selectable = false; general_click_restart.underline = false; try { general_click_restart["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_general_level_failed_LostPopUp_Layer1_0(){ try { general_level_failed["componentInspectorSetting"] = true; } catch(e:Error) { }; general_level_failed.text = "{general_level_failed}"; general_level_failed.textColor = 0xFFFFFF; general_level_failed.textSize = 16; general_level_failed.bold = false; general_level_failed.disableWordwrap = false; general_level_failed.embedFonts = true; general_level_failed.font = "Candara"; general_level_failed.hAlign = "left"; general_level_failed.multiline = true; general_level_failed.vAlign = "top"; general_level_failed.antiAliasType = "advanced"; general_level_failed.glowBlur = 3; general_level_failed.glowColor = 0; general_level_failed.useGlowFilter = false; general_level_failed.glowQuality = 1; general_level_failed.glowStrength = 5; general_level_failed.gridFitType = "pixel"; general_level_failed.italic = false; general_level_failed.selectable = false; general_level_failed.underline = false; try { general_level_failed["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 170
//menu_stars (menu_stars) package { import flash.display.*; import flash.text.*; public class menu_stars extends MovieClip { public var menuGraphic:MovieClip; public var noOfStars:TextField; public function menu_stars(){ var _local1:MovieClip = MovieClip(stage.getChildAt(2)); noOfStars.text = String(_local1.getTotalStars()); } } }//package
Section 171
//menu_text_clip (menu_text_clip) package { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class menu_text_clip extends MovieClip { public var left_button:MovieClip; public var right_button:MovieClip; public var myinvButton:invButton; public var menuInMotion:Boolean; public var currentstate:String; public var walkthroughurl:String; public var moregamesurl:String; public var requestWalkthrough:URLRequest; public var requestMoreGames:URLRequest; public function menu_text_clip(){ addFrameScript(0, frame1, 4, frame5, 9, frame10, 14, frame15, 19, frame20, 24, frame25, 29, frame30, 34, frame35, 39, frame40, 44, frame45, 49, frame50, 59, frame60, 69, frame70, 79, frame80); } public function buttonPressed(_arg1:MouseEvent):void{ var e = _arg1; if (!menuInMotion){ switch (currentstate){ case "start-1": case "start-2": trace("start was selected"); gotoAndPlay("start_out"); MovieClip(root).simulator.setGoto(5); MovieClip(root).nextFrame(); break; case "moregames-1": case "moregames-2": trace("moregames was selected"); try { navigateToURL(requestMoreGames, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; break; case "credits-1": case "credits-2": trace("credits was selected"); gotoAndPlay("credits_out"); MovieClip(root).simulator.setGoto(4); MovieClip(root).nextFrame(); break; case "walkthrough-1": case "walkthrough-2": trace("walkthrough was selected"); try { navigateToURL(requestWalkthrough, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; break; case "continue-1": case "continue-2": trace("continue was selected"); gotoAndPlay("continue_out"); MovieClip(root).simulator.setGoto(MovieClip(root).simulator.getCurrentStage()); MovieClip(root).nextFrame(); break; }; }; } public function moveLeft(_arg1:MouseEvent):void{ trace(("select= " + currentstate)); if (!menuInMotion){ menuInMotion = true; switch (currentstate){ case "start-1": case "start-2": trace("start was selected"); gotoAndPlay("start-1"); break; case "moregames-1": case "moregames-2": trace("moregames was selected"); gotoAndPlay("moregames-1"); break; case "credits-1": case "credits-2": trace("credits was selected"); gotoAndPlay("credits-1"); break; case "walkthrough-1": case "walkthrough-2": trace("walkthrough was selected"); gotoAndPlay("walkthrough-1"); break; case "continue-1": case "continue-2": trace("continue was selected"); gotoAndPlay("continue-1"); break; }; }; } public function moveRight(_arg1:MouseEvent):void{ trace(("select= " + currentstate)); if (!menuInMotion){ menuInMotion = true; switch (currentstate){ case "start-1": case "start-2": trace("start was selected"); gotoAndPlay("start-2"); break; case "moregames-1": case "moregames-2": trace("moregames was selected"); gotoAndPlay("moregames-2"); break; case "credits-1": case "credits-2": trace("credits was selected"); gotoAndPlay("credits-2"); break; case "walkthrough-1": case "walkthrough-2": trace("walkthrough was selected"); gotoAndPlay("walkthrough-2"); break; case "continue-1": case "continue-2": trace("continue was selected"); gotoAndPlay("continue-2"); break; }; }; } function frame1(){ stop(); currentstate = "start-1"; menuInMotion = false; menuInMotion = false; currentstate = "start-1"; walkthroughurl = "http://www.youtube.com/watch?v=_FRLsYculLs"; moregamesurl = "http://gameportal.net"; requestWalkthrough = new URLRequest(walkthroughurl); requestMoreGames = new URLRequest(moregamesurl); left_button.addEventListener(MouseEvent.CLICK, moveLeft); right_button.addEventListener(MouseEvent.CLICK, moveRight); myinvButton.addEventListener(MouseEvent.CLICK, buttonPressed); } function frame5(){ stop(); currentstate = "moregames-1"; menuInMotion = false; } function frame10(){ stop(); currentstate = "credits-1"; menuInMotion = false; } function frame15(){ stop(); currentstate = "walkthrough-1"; menuInMotion = false; } function frame20(){ stop(); currentstate = "continue-1"; menuInMotion = false; } function frame25(){ stop(); currentstate = "start-2"; menuInMotion = false; } function frame30(){ stop(); currentstate = "continue-2"; menuInMotion = false; } function frame35(){ stop(); currentstate = "walkthrough-2"; menuInMotion = false; } function frame40(){ stop(); currentstate = "credits-2"; menuInMotion = false; } function frame45(){ stop(); currentstate = "moregames-2"; menuInMotion = false; } function frame50(){ gotoAndPlay(1); currentstate = "start-1"; menuInMotion = false; } function frame60(){ stop(); } function frame70(){ stop(); } function frame80(){ stop(); } } }//package
Section 172
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 173
//Mesh (Mesh) package { import flash.display.*; public class Mesh extends MovieClip { public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var collided:Boolean;// = false public function Mesh():void{ } public function updateState():void{ } public function resetState():void{ } public function processCollisions():void{ } } }//package
Section 174
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 175
//MyCursorClass (MyCursorClass) package { import flash.display.*; import flash.events.*; import flash.ui.*; public class MyCursorClass extends MovieClip { public function MyCursorClass(){ Mouse.hide(); visible = true; mouseEnabled = false; mouseChildren = false; } public function mouseMoveHandler(_arg1:MouseEvent):void{ var _local2:MovieClip = MovieClip(stage.getChildAt(0)); x = _arg1.stageX; y = _arg1.stageY; if (_local2.getChildIndex(this) != (_local2.numChildren - 1)){ _local2.setChildIndex(this, (_local2.numChildren - 1)); }; _arg1.updateAfterEvent(); } } }//package
Section 176
//NormalTalk1 (NormalTalk1) package { import flash.media.*; public dynamic class NormalTalk1 extends Sound { } }//package
Section 177
//NormalTalk2 (NormalTalk2) package { import flash.media.*; public dynamic class NormalTalk2 extends Sound { } }//package
Section 178
//NormalTalk3 (NormalTalk3) package { import flash.media.*; public dynamic class NormalTalk3 extends Sound { } }//package
Section 179
//Pause_Menu (Pause_Menu) package { import flash.display.*; import flash.events.*; public class Pause_Menu extends MovieClip { public var musicIcon:MovieClip; public var myinvButton2:invButton; public var myinvButton3:invButton; public var sfxIcon:MovieClip; public var myinvButtonMusic:invButton; public var myinvButtonSFX:invButton; public var myinvButtonSkip:invButton; public var menuStar:menu_stars; public var resetButton:Reset_Button; public function Pause_Menu(){ addFrameScript(0, frame1, 19, frame20, 29, frame30, 30, frame31); x = 5; y = 358; gotoAndPlay("Reset"); } public function buttonPressed2(_arg1:MouseEvent):void{ myinvButton2.removeEventListener(MouseEvent.CLICK, buttonPressed2); play(); } public function buttonPressedSkip(_arg1:MouseEvent):void{ trace(MovieClip(root).simulator.getTotalStars()); if (MovieClip(root).simulator.isDebugOn()){ play(); MovieClip(root).simulator.skipLevel(); } else { if (MovieClip(root).simulator.getTotalStars() > 0){ play(); MovieClip(root).simulator.skipLevel(); }; }; } public function buttonPressed3(_arg1:MouseEvent):void{ myinvButton3.removeEventListener(MouseEvent.CLICK, buttonPressed3); play(); } public function buttonPressedMusic(_arg1:MouseEvent):void{ if (MovieClip(root).simulator.musicOn){ musicIcon.alpha = 0.5; MovieClip(root).simulator.muteMusic(); } else { musicIcon.alpha = 1; MovieClip(root).simulator.unMuteMusic(); }; } public function buttonPressedSFX(_arg1:MouseEvent):void{ if (MovieClip(root).simulator.sfxOn){ sfxIcon.alpha = 0.5; MovieClip(root).simulator.muteSFX(); } else { sfxIcon.alpha = 1; MovieClip(root).simulator.unMuteSFX(); }; } function frame1(){ stop(); myinvButton2.addEventListener(MouseEvent.CLICK, buttonPressed2); } function frame20(){ if (!MovieClip(root).simulator.musicOn){ musicIcon.alpha = 0.5; }; } function frame30(){ if (!MovieClip(root).simulator.sfxOn){ sfxIcon.alpha = 0.5; }; } function frame31(){ stop(); trace(("HERE@ " + MovieClip(root).simulator.getTotalStars())); myinvButton3.addEventListener(MouseEvent.CLICK, buttonPressed3); myinvButtonMusic.addEventListener(MouseEvent.CLICK, buttonPressedMusic); myinvButtonSFX.addEventListener(MouseEvent.CLICK, buttonPressedSFX); myinvButtonSkip.addEventListener(MouseEvent.CLICK, buttonPressedSkip); } } }//package
Section 180
//Pointer (Pointer) package { import flash.display.*; public dynamic class Pointer extends MovieClip { } }//package
Section 181
//Reset_Button (Reset_Button) package { import flash.display.*; import flash.events.*; public class Reset_Button extends MovieClip { public function Reset_Button(){ addEventListener(MouseEvent.CLICK, resetLevel); } public function resetLevel(_arg1:MouseEvent):void{ var _local2:MovieClip = MovieClip(stage.getChildAt(2)); _local2.endSimulation(); _local2.beginSimulation(); } } }//package
Section 182
//Simple (Simple) package { import flash.display.*; import Simulation.*; public class Simple extends MovieClip { public var eyes:Eyes; private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var isExploded:Boolean;// = false public var isOnGoal:Boolean;// = false public var stateChanged:Boolean;// = true public var isOutOfBounds:Boolean;// = false public var collided:Boolean;// = false public function Simple():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 3, frame4, 4, frame5, 8, frame9, 9, frame10); } public function updateState():void{ if (stateChanged){ if (isOnGoal){ gotoAndPlay(parameters.SIMPLEBOX_ONGOAL_FRAME); }; if (!isOnGoal){ gotoAndPlay(parameters.SIMPLEBOX_NOTONGOAL_FRAME); }; stateChanged = false; }; } public function resetState():void{ isExploded = false; isOnGoal = false; stateChanged = true; isOutOfBounds = false; } public function processCollisions():void{ } public function exploded():void{ gotoAndPlay(parameters.SIMPLEBOX_EXPLODED_FRAME); isExploded = true; } public function isTouching():void{ } function frame1(){ } function frame4(){ gotoAndPlay(1); } function frame5(){ } function frame9(){ gotoAndPlay(5); } function frame10(){ stop(); } } }//package
Section 183
//Skip_Button (Skip_Button) package { import flash.display.*; import flash.events.*; public class Skip_Button extends MovieClip { public function Skip_Button(){ addEventListener(MouseEvent.CLICK, nextLevel); x = 520; y = 60; } public function nextLevel(_arg1:MouseEvent):void{ var _local2:MovieClip = MovieClip(stage.getChildAt(2)); _local2.endSimulation(); _local2.pleaseGotoNextFrame(); } } }//package
Section 184
//Star (Star) package { import flash.display.*; import Simulation.*; public class Star extends MovieClip { private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var isCollected:Boolean;// = false public var collided:Boolean;// = false public function Star():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 1, frame2); } public function updateState():void{ } public function resetState():void{ gotoAndStop(parameters.STARBOX_NOT_COLLECTED_FRAME); isCollected = false; } public function processCollisions():void{ } public function collected():void{ isCollected = true; var _local1:MovieClip = MovieClip(stage.getChildAt(2)); _local1.playYeySound(); gotoAndPlay(parameters.STARBOX_COLLECTED_FRAME); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 185
//Tech (Tech) package { import flash.display.*; import Simulation.*; public class Tech extends MovieClip { public var eyes:Eyes; private var parameters:Parameters; public var originalX:Number;// = 0 public var originalY:Number;// = 0 public var originalRotation:Number;// = 0 public var isOutOfBounds:Boolean;// = false public var isExploded:Boolean;// = false public var isOnGoal:Boolean;// = false public var stateChanged:Boolean;// = true public var collided:Boolean;// = false public function Tech():void{ parameters = new Parameters(); super(); addFrameScript(0, frame1, 3, frame4, 4, frame5, 8, frame9); } public function updateState():void{ if (stateChanged){ if (isOnGoal){ gotoAndPlay(parameters.TECHBOX_ONGOAL_FRAME); }; if (!isOnGoal){ gotoAndPlay(parameters.TECHBOX_NOTONGOAL_FRAME); }; stateChanged = false; }; } public function resetState():void{ isExploded = false; isOnGoal = false; stateChanged = true; isOutOfBounds = false; } public function processCollisions():void{ } public function exploded():void{ gotoAndPlay(parameters.TECHBOX_EXPLODED_FRAME); isExploded = true; } public function isTouching():void{ } function frame1(){ } function frame4(){ gotoAndPlay(1); } function frame5(){ } function frame9(){ gotoAndPlay(5); } } }//package
Section 186
//TechSound (TechSound) package { import flash.media.*; public dynamic class TechSound extends Sound { } }//package
Section 187
//transition_in (transition_in) package { import flash.display.*; public dynamic class transition_in extends MovieClip { public function transition_in(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package
Section 188
//Transition_Out (Transition_Out) package { import flash.display.*; public class Transition_Out extends MovieClip { public function Transition_Out(){ addFrameScript(0, frame1, 30, frame31); } function frame1(){ stop(); } function frame31(){ stop(); } } }//package
Section 189
//Ultimatum (Ultimatum) package { import flash.text.*; public dynamic class Ultimatum extends Font { } }//package
Section 190
//VictoryMusic (VictoryMusic) package { import flash.media.*; public dynamic class VictoryMusic extends Sound { } }//package
Section 191
//WonPopUp (WonPopUp) package { import flash.xml.*; import flash.display.*; import flash.text.*; import flash.events.*; import spill.localisation.*; import flash.media.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; public dynamic class WonPopUp extends MovieClip { public var general_level_complete:LocalizedTextField; public var won_clip:MovieClip; public var star_clip:MovieClip; public var levelEndStars:TextField; public var general_total_stars:LocalizedTextField; public var general_click_continue:LocalizedTextField; public function WonPopUp(){ __setProp_general_click_continue_WonPopUp_Layer2_0(); __setProp_general_total_stars_WonPopUp_Layer2_0(); __setProp_general_level_complete_WonPopUp_Layer2_0(); } function __setProp_general_click_continue_WonPopUp_Layer2_0(){ try { general_click_continue["componentInspectorSetting"] = true; } catch(e:Error) { }; general_click_continue.text = "{general_click_continue}"; general_click_continue.textColor = 0xFFFFFF; general_click_continue.textSize = 18; general_click_continue.bold = false; general_click_continue.disableWordwrap = false; general_click_continue.embedFonts = true; general_click_continue.font = "Candara"; general_click_continue.hAlign = "center"; general_click_continue.multiline = true; general_click_continue.vAlign = "top"; general_click_continue.antiAliasType = "advanced"; general_click_continue.glowBlur = 3; general_click_continue.glowColor = 0; general_click_continue.useGlowFilter = false; general_click_continue.glowQuality = 1; general_click_continue.glowStrength = 5; general_click_continue.gridFitType = "pixel"; general_click_continue.italic = false; general_click_continue.selectable = false; general_click_continue.underline = false; try { general_click_continue["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_general_total_stars_WonPopUp_Layer2_0(){ try { general_total_stars["componentInspectorSetting"] = true; } catch(e:Error) { }; general_total_stars.text = "{general_total_stars}"; general_total_stars.textColor = 0xFFFFFF; general_total_stars.textSize = 18; general_total_stars.bold = false; general_total_stars.disableWordwrap = false; general_total_stars.embedFonts = true; general_total_stars.font = "Candara"; general_total_stars.hAlign = "right"; general_total_stars.multiline = true; general_total_stars.vAlign = "top"; general_total_stars.antiAliasType = "advanced"; general_total_stars.glowBlur = 3; general_total_stars.glowColor = 0; general_total_stars.useGlowFilter = false; general_total_stars.glowQuality = 1; general_total_stars.glowStrength = 5; general_total_stars.gridFitType = "pixel"; general_total_stars.italic = false; general_total_stars.selectable = false; general_total_stars.underline = false; try { general_total_stars["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_general_level_complete_WonPopUp_Layer2_0(){ try { general_level_complete["componentInspectorSetting"] = true; } catch(e:Error) { }; general_level_complete.text = "{general_level_complete}"; general_level_complete.textColor = 0xFFFFFF; general_level_complete.textSize = 16; general_level_complete.bold = false; general_level_complete.disableWordwrap = false; general_level_complete.embedFonts = true; general_level_complete.font = "Candara"; general_level_complete.hAlign = "left"; general_level_complete.multiline = true; general_level_complete.vAlign = "top"; general_level_complete.antiAliasType = "advanced"; general_level_complete.glowBlur = 3; general_level_complete.glowColor = 0; general_level_complete.useGlowFilter = false; general_level_complete.glowQuality = 1; general_level_complete.glowStrength = 5; general_level_complete.gridFitType = "pixel"; general_level_complete.italic = false; general_level_complete.selectable = false; general_level_complete.underline = false; try { general_level_complete["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package

Library Items

Symbol 1 Font {CandaraBold}
Symbol 2 Font {CandaraRegular}
Symbol 3 Font {Ultimatum}
Symbol 4 Sound {VictoryMusic}
Symbol 5 Sound {TechSound}
Symbol 6 Sound {BoxOwSound}
Symbol 7 Sound {MenuMusic}
Symbol 8 Sound {GameplayMusic}
Symbol 9 Sound {FailMusic}
Symbol 10 Sound {ExplodeSound}
Symbol 11 Sound {DevilSound}
Symbol 12 Sound {NormalTalk3}
Symbol 13 Sound {NormalTalk2}
Symbol 14 Sound {NormalTalk1}
Symbol 15 Sound {GirlTalk3}
Symbol 16 Sound {GirlTalk2}
Symbol 17 Sound {GirlTalk1}
Symbol 18 Sound {GirlTalk}
Symbol 19 Sound {BoxYeySound}
Symbol 20 GraphicUsed by:59 61
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:39 197 229 376 413 505
Symbol 23 GraphicUsed by:39 229 413
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:39 146 229 376 413 543
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:38 39 142 229 376 413  Timeline
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:39 61 145 229 376 413 582
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:30Used by:39 61 229 376 413 582
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:39 61 229 376 413 582
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:39 203 229 376 413 457
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:38 142 145 146 193 407 413 582
Symbol 38 MovieClipUses:27 37Used by:39 229 413 457
Symbol 39 MovieClip {Blocks_fla.won_block_clip_209}Uses:22 23 25 27 29 31 33 35 38Used by:59  Timeline
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClipUses:40Used by:42 224
Symbol 42 MovieClip {spill.localisation.LocalizedTextField}Uses:41Used by:59 61 212 213 214 215 216 367 436 462 466 469 488 505 508 543 545 582 618 634 638 642 648 652 660 664 674 686  Timeline
Symbol 43 Font {Font2}Used by:44 116 119 120 123 127 133 134 136 465 467 468 472 477 480 483 487 506 507 510 513 518 519 522 523 544 546 550 551 552 554 555 556 583 591 594 595 596 597 598 599 600
Symbol 44 EditableTextUses:43Used by:59
Symbol 45 GraphicUsed by:52
Symbol 46 GraphicUsed by:52
Symbol 47 GraphicUsed by:52
Symbol 48 GraphicUsed by:52
Symbol 49 GraphicUsed by:52
Symbol 50 GraphicUsed by:52
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:45 46 47 48 49 50 51Used by:59
Symbol 53 GraphicUsed by:56
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClipUses:54Used by:56
Symbol 56 MovieClip {Blocks_fla.won_star_clip_270}Uses:53 55Used by:59
Symbol 57 Font {Font1}Used by:58
Symbol 58 EditableTextUses:57Used by:59
Symbol 59 MovieClip {WonPopUp}Uses:20 39 42 44 52 56 58
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip {LostPopUp}Uses:20 29 31 33 60 42
Symbol 62 GraphicUsed by:65 108
Symbol 63 GraphicUsed by:65
Symbol 64 GraphicUsed by:65
Symbol 65 ButtonUses:62 63 64Used by:94
Symbol 66 GraphicUsed by:94 101
Symbol 67 GraphicUsed by:91
Symbol 68 GraphicUsed by:91
Symbol 69 GraphicUsed by:91
Symbol 70 GraphicUsed by:91
Symbol 71 GraphicUsed by:91
Symbol 72 GraphicUsed by:91
Symbol 73 GraphicUsed by:91
Symbol 74 GraphicUsed by:91
Symbol 75 GraphicUsed by:91
Symbol 76 GraphicUsed by:91
Symbol 77 GraphicUsed by:91
Symbol 78 GraphicUsed by:91
Symbol 79 GraphicUsed by:91
Symbol 80 GraphicUsed by:91
Symbol 81 GraphicUsed by:91
Symbol 82 GraphicUsed by:91
Symbol 83 GraphicUsed by:91
Symbol 84 GraphicUsed by:91
Symbol 85 GraphicUsed by:91
Symbol 86 GraphicUsed by:91
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:91
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:91
Symbol 91 MovieClip {Blocks_fla.flag_icon_262}Uses:67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 88 90Used by:94 101
Symbol 92 FontUsed by:93
Symbol 93 EditableTextUses:92Used by:94
Symbol 94 MovieClipUses:65 66 91 93Used by:97
Symbol 95 GraphicUsed by:96
Symbol 96 MovieClipUses:95Used by:97
Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc}Uses:94 96
Symbol 98 GraphicUsed by:101
Symbol 99 FontUsed by:100
Symbol 100 EditableTextUses:99Used by:101
Symbol 101 MovieClip {spill.localisation.LanguageSelectBox_mc}Uses:98 100 66 91
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClip {Pointer}Uses:102
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:104Used by:106
Symbol 106 MovieClip {Reset_Button}Uses:105Used by:129
Symbol 107 GraphicUsed by:129
Symbol 108 MovieClipUses:62Used by:129
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:109Used by:129
Symbol 111 GraphicUsed by:129
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClipUses:112Used by:129
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClipUses:114Used by:129
Symbol 116 TextUses:43Used by:129
Symbol 117 GraphicUsed by:118 228
Symbol 118 MovieClip {invButton}Uses:117Used by:129 137 223 466 469 488 508 545
Symbol 119 TextUses:43Used by:129
Symbol 120 TextUses:43Used by:129
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:121Used by:124
Symbol 123 EditableTextUses:43Used by:124
Symbol 124 MovieClip {menu_stars}Uses:122 123Used by:129
Symbol 125 GraphicUsed by:126
Symbol 126 MovieClipUses:125Used by:129
Symbol 127 TextUses:43Used by:128
Symbol 128 MovieClipUses:127Used by:129
Symbol 129 MovieClip {Pause_Menu}Uses:107 108 110 111 113 115 116 118 119 120 106 124 126 128
Symbol 130 GraphicUsed by:131
Symbol 131 MovieClip {MyCursorClass}Uses:130
Symbol 132 GraphicUsed by:137 466 469 488 508 545
Symbol 133 TextUses:43Used by:137 466 469 488 508 545
Symbol 134 EditableTextUses:43Used by:137
Symbol 135 GraphicUsed by:137 466 469 488 508 545
Symbol 136 TextUses:43Used by:137 466 469 488 508 545
Symbol 137 MovieClip {HelpBox}Uses:132 133 118 134 135 136
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClip {EyesDot}Uses:138
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClip {Dot}Uses:140
Symbol 142 MovieClip {Eyes}Uses:27 37Used by:145 146 203 376 543 582
Symbol 143 GraphicUsed by:145
Symbol 144 GraphicUsed by:145 146
Symbol 145 MovieClip {Devil}Uses:29 142 143 37 144Used by:Timeline
Symbol 146 MovieClip {Tech}Uses:25 142 37 144Used by:Timeline
Symbol 147 GraphicUsed by:177 211 375
Symbol 148 GraphicUsed by:177 211 375
Symbol 149 GraphicUsed by:177 211 375
Symbol 150 GraphicUsed by:177 211 375
Symbol 151 GraphicUsed by:177 211 375
Symbol 152 GraphicUsed by:177 211 375
Symbol 153 GraphicUsed by:177 211 375
Symbol 154 GraphicUsed by:177 211 375
Symbol 155 GraphicUsed by:177 211 375
Symbol 156 GraphicUsed by:177 211 375
Symbol 157 GraphicUsed by:177 211 375
Symbol 158 GraphicUsed by:177 211 375
Symbol 159 GraphicUsed by:177 211 375
Symbol 160 GraphicUsed by:177 211 375
Symbol 161 GraphicUsed by:177 211 375
Symbol 162 GraphicUsed by:177 211 375
Symbol 163 GraphicUsed by:177 211 375
Symbol 164 GraphicUsed by:177 211 375
Symbol 165 GraphicUsed by:177 211 375
Symbol 166 GraphicUsed by:177 211 375
Symbol 167 GraphicUsed by:177 211 375
Symbol 168 GraphicUsed by:177 211 375
Symbol 169 GraphicUsed by:177 211 375
Symbol 170 GraphicUsed by:177 211 375
Symbol 171 GraphicUsed by:177 211 375
Symbol 172 GraphicUsed by:177 211 375
Symbol 173 GraphicUsed by:177 211 375
Symbol 174 GraphicUsed by:177 211 375
Symbol 175 GraphicUsed by:177 211 375
Symbol 176 GraphicUsed by:177 211 375
Symbol 177 MovieClip {Transition_Out}Uses:147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176Used by:Timeline
Symbol 178 GraphicUsed by:188
Symbol 179 GraphicUsed by:181
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:179 180Used by:188 413
Symbol 182 GraphicUsed by:188
Symbol 183 ShapeTweeningUsed by:186
Symbol 184 ShapeTweeningUsed by:186
Symbol 185 GraphicUsed by:186
Symbol 186 MovieClipUses:183 184 185Used by:188 412
Symbol 187 GraphicUsed by:188 412
Symbol 188 MovieClip {Bomb}Uses:178 181 182 186 187Used by:Timeline
Symbol 189 GraphicUsed by:190
Symbol 190 MovieClipUses:189Used by:193
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClipUses:191Used by:193
Symbol 193 MovieClip {GirlEyes}Uses:190 192 37Used by:197
Symbol 194 GraphicUsed by:197
Symbol 195 GraphicUsed by:197
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClip {Girl}Uses:22 193 194 195 196Used by:Timeline
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:198Used by:200 553
Symbol 200 MovieClip {Mesh}Uses:199Used by:484 485 486 496 509 511 512 514 515 516 517 529 549  Timeline
Symbol 201 FontUsed by:202
Symbol 202 TextUses:201Used by:203
Symbol 203 MovieClip {Simple}Uses:35 142 202Used by:Timeline
Symbol 204 GraphicUsed by:208
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClipUses:205Used by:207
Symbol 207 MovieClip {Blocks_fla.item_collect_135}Uses:206Used by:208
Symbol 208 MovieClip {Star}Uses:204 207Used by:Timeline
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClip {Skip_Button}Uses:209Used by:Timeline
Symbol 211 MovieClip {transition_in}Uses:176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147Used by:Timeline
Symbol 212 MovieClip {Blocks_fla.menu_clip_start_100}Uses:42Used by:223
Symbol 213 MovieClip {Blocks_fla.menu_clip_more_games_101}Uses:42Used by:223
Symbol 214 MovieClip {Blocks_fla.menu_clip_continue_102}Uses:42Used by:223
Symbol 215 MovieClip {Blocks_fla.menu_clip_credits_103}Uses:42Used by:223
Symbol 216 MovieClip {Blocks_fla.menu_clip_walkthrough_104}Uses:42Used by:223
Symbol 217 GraphicUsed by:218
Symbol 218 MovieClipUses:217Used by:219
Symbol 219 MovieClip {Blocks_fla.menu_button_left_105}Uses:218Used by:223
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:222
Symbol 222 MovieClip {Blocks_fla.menu_button_right_107}Uses:221Used by:223
Symbol 223 MovieClip {menu_text_clip}Uses:212 213 214 215 216 219 222 118Used by:Timeline
Symbol 224 MovieClip {spill.localisation.LanguageSelectBox}Uses:41Used by:Timeline
Symbol 225 FontUsed by:226 227
Symbol 226 TextUses:225Used by:228
Symbol 227 TextUses:225Used by:228
Symbol 228 Button {spill.localisation.SpilGamesLink}Uses:226 117 227Used by:Timeline
Symbol 229 MovieClip {intro_anim}Uses:22 23 29 31 33 35 38 25 27Used by:Timeline
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClipUses:231Used by:361
Symbol 233 GraphicUsed by:361
Symbol 234 GraphicUsed by:245
Symbol 235 GraphicUsed by:245
Symbol 236 GraphicUsed by:245
Symbol 237 GraphicUsed by:245 561
Symbol 238 GraphicUsed by:245
Symbol 239 GraphicUsed by:245
Symbol 240 GraphicUsed by:245
Symbol 241 GraphicUsed by:245
Symbol 242 GraphicUsed by:245
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClipUses:243Used by:245
Symbol 245 MovieClipUses:234 235 236 237 238 239 240 241 242 244Used by:361
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:361
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClipUses:248Used by:361
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:361
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:252Used by:361
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClipUses:254Used by:361
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:256Used by:361
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClipUses:258Used by:361
Symbol 260 GraphicUsed by:261
Symbol 261 MovieClipUses:260Used by:361
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClipUses:262Used by:361
Symbol 264 GraphicUsed by:265
Symbol 265 MovieClipUses:264Used by:361
Symbol 266 GraphicUsed by:267
Symbol 267 MovieClipUses:266Used by:361
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClipUses:268Used by:361
Symbol 270 GraphicUsed by:271
Symbol 271 MovieClipUses:270Used by:361
Symbol 272 GraphicUsed by:273
Symbol 273 MovieClipUses:272Used by:361
Symbol 274 GraphicUsed by:275
Symbol 275 MovieClipUses:274Used by:276
Symbol 276 MovieClipUses:275Used by:361
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClipUses:277Used by:279
Symbol 279 MovieClipUses:278Used by:361
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClipUses:280Used by:282
Symbol 282 MovieClipUses:281Used by:361
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClipUses:283Used by:285
Symbol 285 MovieClipUses:284Used by:361
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:288
Symbol 288 MovieClipUses:287Used by:361
Symbol 289 GraphicUsed by:290
Symbol 290 MovieClipUses:289Used by:291
Symbol 291 MovieClipUses:290Used by:361
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClipUses:292Used by:294
Symbol 294 MovieClipUses:293Used by:361
Symbol 295 GraphicUsed by:296
Symbol 296 MovieClipUses:295Used by:297
Symbol 297 MovieClipUses:296Used by:361
Symbol 298 GraphicUsed by:299
Symbol 299 MovieClipUses:298Used by:300
Symbol 300 MovieClipUses:299Used by:361
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:303
Symbol 303 MovieClipUses:302Used by:361
Symbol 304 GraphicUsed by:305
Symbol 305 MovieClipUses:304Used by:306
Symbol 306 MovieClipUses:305Used by:361
Symbol 307 GraphicUsed by:308
Symbol 308 MovieClipUses:307Used by:309
Symbol 309 MovieClipUses:308Used by:361
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:310Used by:312
Symbol 312 MovieClipUses:311Used by:361
Symbol 313 GraphicUsed by:314
Symbol 314 MovieClipUses:313Used by:361
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClipUses:315Used by:361
Symbol 317 GraphicUsed by:318
Symbol 318 MovieClipUses:317Used by:361
Symbol 319 GraphicUsed by:320
Symbol 320 MovieClipUses:319Used by:361
Symbol 321 GraphicUsed by:322
Symbol 322 MovieClipUses:321Used by:361
Symbol 323 GraphicUsed by:324
Symbol 324 MovieClipUses:323Used by:361
Symbol 325 GraphicUsed by:326
Symbol 326 MovieClipUses:325Used by:361
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:327Used by:361
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClipUses:329Used by:361
Symbol 331 BitmapUsed by:332
Symbol 332 GraphicUses:331Used by:333
Symbol 333 MovieClipUses:332Used by:361
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:336
Symbol 336 MovieClipUses:335Used by:361
Symbol 337 GraphicUsed by:338
Symbol 338 MovieClipUses:337Used by:361
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClipUses:339Used by:361
Symbol 341 GraphicUsed by:342
Symbol 342 MovieClipUses:341Used by:361
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClipUses:343Used by:361
Symbol 345 GraphicUsed by:346
Symbol 346 MovieClipUses:345Used by:347
Symbol 347 MovieClipUses:346Used by:361
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:361
Symbol 350 GraphicUsed by:351
Symbol 351 MovieClipUses:350Used by:361
Symbol 352 GraphicUsed by:353
Symbol 353 MovieClipUses:352Used by:361
Symbol 354 GraphicUsed by:355
Symbol 355 MovieClipUses:354Used by:356
Symbol 356 MovieClipUses:355Used by:361
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:361
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClipUses:359Used by:361
Symbol 361 MovieClip {spill.localisation.BrandingLogo}Uses:232 233 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 276 279 282 285 288 291 294 297 300 303 306 309 312 314 316 318 320 322 324 326 328 330 333 336 338 340 342 344 347 349 351 353 356 358 360Used by:Timeline
Symbol 362 GraphicUsed by:Timeline
Symbol 363 GraphicUsed by:367
Symbol 364 GraphicUsed by:367
Symbol 365 GraphicUsed by:367
Symbol 366 GraphicUsed by:367
Symbol 367 MovieClip {Blocks_fla.loading_clip_1}Uses:363 42 364 365 366Used by:Timeline
Symbol 368 GraphicUsed by:376
Symbol 369 GraphicUsed by:376
Symbol 370 GraphicUsed by:376
Symbol 371 GraphicUsed by:376
Symbol 372 GraphicUsed by:373
Symbol 373 MovieClipUses:372Used by:374
Symbol 374 MovieClip {Blocks_fla.preloader_hide_6}Uses:373Used by:376
Symbol 375 MovieClip {Blocks_fla.transition_out_preloader_8}Uses:147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176Used by:376
Symbol 376 MovieClip {Blocks_fla.mystery_block_4}Uses:368 369 370 22 371 374 375 35 142 25 27 29 31 33Used by:Timeline
Symbol 377 GraphicUsed by:379
Symbol 378 GraphicUsed by:379 396
Symbol 379 MovieClip {Blocks_fla.text_shadow_anim_86}Uses:377 378Used by:Timeline
Symbol 380 GraphicUsed by:381 434
Symbol 381 MovieClipUses:380Used by:394
Symbol 382 GraphicUsed by:383 434
Symbol 383 MovieClipUses:382Used by:394
Symbol 384 GraphicUsed by:385 434
Symbol 385 MovieClipUses:384Used by:394
Symbol 386 GraphicUsed by:387 434
Symbol 387 MovieClipUses:386Used by:394
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClipUses:388Used by:394
Symbol 390 GraphicUsed by:391 434
Symbol 391 MovieClipUses:390Used by:394
Symbol 392 GraphicUsed by:393 434
Symbol 393 MovieClipUses:392Used by:394
Symbol 394 MovieClip {Blocks_fla.intro_text_anim_89}Uses:381 383 385 387 389 391 393Used by:Timeline
Symbol 395 GraphicUsed by:396
Symbol 396 MovieClip {Blocks_fla.text_shadow_anim_out_111}Uses:378 395Used by:Timeline
Symbol 397 GraphicUsed by:413
Symbol 398 GraphicUsed by:413
Symbol 399 GraphicUsed by:400
Symbol 400 MovieClipUses:399Used by:413
Symbol 401 GraphicUsed by:413
Symbol 402 GraphicUsed by:413
Symbol 403 GraphicUsed by:404
Symbol 404 MovieClipUses:403Used by:413 505
Symbol 405 GraphicUsed by:413 500
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406 37Used by:413 505
Symbol 408 GraphicUsed by:413
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:413 457  Timeline
Symbol 411 GraphicUsed by:413
Symbol 412 MovieClip {Blocks_fla.blast_anim_yellow_118}Uses:186 187Used by:413
Symbol 413 MovieClip {Blocks_fla.intro_anim_out_112}Uses:25 27 22 23 29 31 33 35 38 397 181 398 400 401 402 404 405 407 408 37 410 411 412Used by:Timeline
Symbol 414 GraphicUsed by:434
Symbol 415 GraphicUsed by:434
Symbol 416 GraphicUsed by:434
Symbol 417 GraphicUsed by:434
Symbol 418 GraphicUsed by:434
Symbol 419 GraphicUsed by:434
Symbol 420 GraphicUsed by:434
Symbol 421 GraphicUsed by:434
Symbol 422 GraphicUsed by:434
Symbol 423 GraphicUsed by:434
Symbol 424 GraphicUsed by:434
Symbol 425 GraphicUsed by:434
Symbol 426 GraphicUsed by:434
Symbol 427 GraphicUsed by:434
Symbol 428 GraphicUsed by:434
Symbol 429 GraphicUsed by:434
Symbol 430 GraphicUsed by:434
Symbol 431 GraphicUsed by:434
Symbol 432 GraphicUsed by:434
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClip {Blocks_fla.intro_text_anim_out_120}Uses:414 382 415 416 390 384 380 392 386 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433Used by:Timeline
Symbol 435 GraphicUsed by:Timeline
Symbol 436 MovieClip {Blocks_fla.back_button_121}Uses:42Used by:Timeline
Symbol 437 GraphicUsed by:456  Timeline
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:440
Symbol 440 MovieClipUses:439Used by:Timeline
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:Timeline
Symbol 443 GraphicUsed by:Timeline
Symbol 444 GraphicUsed by:445
Symbol 445 MovieClipUses:444Used by:Timeline
Symbol 446 GraphicUsed by:447
Symbol 447 MovieClipUses:446Used by:Timeline
Symbol 448 GraphicUsed by:449
Symbol 449 MovieClipUses:448Used by:Timeline
Symbol 450 GraphicUsed by:451
Symbol 451 MovieClipUses:450Used by:Timeline
Symbol 452 GraphicUsed by:453
Symbol 453 MovieClipUses:452Used by:Timeline
Symbol 454 GraphicUsed by:456 581
Symbol 455 GraphicUsed by:456 500 581
Symbol 456 MovieClip {Blocks_fla.mouth_talk_130}Uses:454 455 437Used by:457
Symbol 457 MovieClip {Blocks_fla.intro_clip_1_a_129}Uses:35 38 410 456Used by:462
Symbol 458 GraphicUsed by:459
Symbol 459 MovieClipUses:458Used by:462
Symbol 460 GraphicUsed by:461
Symbol 461 MovieClipUses:460Used by:462 505 543
Symbol 462 MovieClip {Blocks_fla.intro_1_clip_128}Uses:457 459 42 461Used by:Timeline
Symbol 463 GraphicUsed by:464
Symbol 464 MovieClipUses:463Used by:Timeline
Symbol 465 TextUses:43Used by:Timeline
Symbol 466 MovieClip {Blocks_fla.help_box1_139}Uses:132 133 118 42 135 136Used by:Timeline
Symbol 467 TextUses:43Used by:Timeline
Symbol 468 TextUses:43Used by:Timeline
Symbol 469 MovieClip {Blocks_fla.help_box2_140}Uses:132 133 118 42 135 136Used by:Timeline
Symbol 470 GraphicUsed by:471
Symbol 471 MovieClipUses:470Used by:Timeline
Symbol 472 TextUses:43Used by:Timeline
Symbol 473 GraphicUsed by:474
Symbol 474 MovieClipUses:473Used by:Timeline
Symbol 475 GraphicUsed by:476
Symbol 476 MovieClipUses:475Used by:Timeline
Symbol 477 TextUses:43Used by:Timeline
Symbol 478 GraphicUsed by:479
Symbol 479 MovieClipUses:478Used by:Timeline
Symbol 480 TextUses:43Used by:Timeline
Symbol 481 GraphicUsed by:482
Symbol 482 MovieClipUses:481Used by:Timeline
Symbol 483 TextUses:43Used by:Timeline
Symbol 484 MovieClipUses:200Used by:Timeline
Symbol 485 MovieClipUses:200Used by:Timeline
Symbol 486 MovieClipUses:200Used by:Timeline
Symbol 487 TextUses:43Used by:Timeline
Symbol 488 MovieClip {Blocks_fla.help_box3_151}Uses:132 133 118 42 135 136Used by:Timeline
Symbol 489 GraphicUsed by:Timeline
Symbol 490 GraphicUsed by:491
Symbol 491 MovieClipUses:490Used by:Timeline
Symbol 492 GraphicUsed by:493
Symbol 493 MovieClipUses:492Used by:Timeline
Symbol 494 GraphicUsed by:495
Symbol 495 MovieClipUses:494Used by:Timeline
Symbol 496 MovieClipUses:200Used by:Timeline
Symbol 497 GraphicUsed by:498
Symbol 498 MovieClipUses:497Used by:Timeline
Symbol 499 GraphicUsed by:500 501
Symbol 500 MovieClipUses:499 455 405Used by:505
Symbol 501 MovieClipUses:499Used by:505
Symbol 502 GraphicUsed by:505
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClipUses:503Used by:505 543 582
Symbol 505 MovieClip {Blocks_fla.Girl_anim_157}Uses:22 407 404 500 461 42 501 502 504Used by:Timeline
Symbol 506 TextUses:43Used by:Timeline
Symbol 507 TextUses:43Used by:Timeline
Symbol 508 MovieClip {Blocks_fla.help_box4_165}Uses:132 133 118 42 135 136Used by:Timeline
Symbol 509 MovieClipUses:200Used by:Timeline
Symbol 510 TextUses:43Used by:Timeline
Symbol 511 MovieClipUses:200Used by:Timeline
Symbol 512 MovieClipUses:200Used by:Timeline
Symbol 513 TextUses:43Used by:Timeline
Symbol 514 MovieClipUses:200Used by:Timeline
Symbol 515 MovieClipUses:200Used by:Timeline
Symbol 516 MovieClipUses:200Used by:Timeline
Symbol 517 MovieClipUses:200Used by:Timeline
Symbol 518 TextUses:43Used by:Timeline
Symbol 519 TextUses:43Used by:Timeline
Symbol 520 GraphicUsed by:521
Symbol 521 MovieClipUses:520Used by:Timeline
Symbol 522 TextUses:43Used by:Timeline
Symbol 523 TextUses:43Used by:Timeline
Symbol 524 GraphicUsed by:Timeline
Symbol 525 GraphicUsed by:526
Symbol 526 MovieClipUses:525Used by:Timeline
Symbol 527 GraphicUsed by:528
Symbol 528 MovieClipUses:527Used by:Timeline
Symbol 529 MovieClipUses:200Used by:Timeline
Symbol 530 GraphicUsed by:531
Symbol 531 MovieClipUses:530Used by:Timeline
Symbol 532 GraphicUsed by:533
Symbol 533 MovieClipUses:532Used by:Timeline
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClipUses:534Used by:Timeline
Symbol 536 GraphicUsed by:542
Symbol 537 GraphicUsed by:542
Symbol 538 GraphicUsed by:542
Symbol 539 GraphicUsed by:542
Symbol 540 GraphicUsed by:542
Symbol 541 GraphicUsed by:542
Symbol 542 MovieClipUses:536 537 538 539 540 541Used by:543
Symbol 543 MovieClip {Blocks_fla.tech_intro_anim_181}Uses:25 142 461 542 42 504Used by:Timeline
Symbol 544 TextUses:43Used by:Timeline
Symbol 545 MovieClip {Blocks_fla.help_box5_185}Uses:132 133 118 42 135 136Used by:Timeline
Symbol 546 TextUses:43Used by:Timeline
Symbol 547 GraphicUsed by:548
Symbol 548 MovieClipUses:547Used by:Timeline
Symbol 549 MovieClipUses:200Used by:Timeline
Symbol 550 TextUses:43Used by:Timeline
Symbol 551 TextUses:43Used by:Timeline
Symbol 552 TextUses:43Used by:Timeline
Symbol 553 MovieClipUses:199Used by:Timeline
Symbol 554 TextUses:43Used by:Timeline
Symbol 555 TextUses:43Used by:Timeline
Symbol 556 TextUses:43Used by:Timeline
Symbol 557 GraphicUsed by:Timeline
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClipUses:558Used by:Timeline
Symbol 560 GraphicUsed by:562 563
Symbol 561 MovieClipUses:237Used by:562 568 585 588
Symbol 562 MovieClipUses:560 561Used by:Timeline
Symbol 563 MovieClipUses:560Used by:Timeline
Symbol 564 GraphicUsed by:565
Symbol 565 MovieClipUses:564Used by:Timeline
Symbol 566 GraphicUsed by:568
Symbol 567 GraphicUsed by:568
Symbol 568 MovieClipUses:566 561 567Used by:569
Symbol 569 MovieClip {Blocks_fla.comet_anim_194}Uses:568Used by:Timeline
Symbol 570 GraphicUsed by:571
Symbol 571 MovieClipUses:570Used by:Timeline
Symbol 572 GraphicUsed by:573
Symbol 573 MovieClipUses:572Used by:Timeline
Symbol 574 GraphicUsed by:575
Symbol 575 MovieClipUses:574Used by:Timeline
Symbol 576 GraphicUsed by:582
Symbol 577 GraphicUsed by:582
Symbol 578 GraphicUsed by:582
Symbol 579 GraphicUsed by:581
Symbol 580 GraphicUsed by:581
Symbol 581 MovieClip {Blocks_fla.mouth_talk_devil_200}Uses:579 455 580 454Used by:582
Symbol 582 MovieClip {Blocks_fla.Devil_anim_199}Uses:29 37 142 576 577 578 581 33 31 504 42Used by:Timeline
Symbol 583 TextUses:43Used by:Timeline
Symbol 584 GraphicUsed by:585
Symbol 585 MovieClipUses:584 561Used by:586
Symbol 586 MovieClipUses:585Used by:590
Symbol 587 GraphicUsed by:588
Symbol 588 MovieClipUses:587 561Used by:589
Symbol 589 MovieClipUses:588Used by:590
Symbol 590 MovieClip {Blocks_fla.ember_clip_202}Uses:586 589Used by:Timeline
Symbol 591 TextUses:43Used by:Timeline
Symbol 592 GraphicUsed by:593
Symbol 593 MovieClipUses:592Used by:Timeline
Symbol 594 TextUses:43Used by:Timeline
Symbol 595 TextUses:43Used by:Timeline
Symbol 596 TextUses:43Used by:Timeline
Symbol 597 TextUses:43Used by:Timeline
Symbol 598 TextUses:43Used by:Timeline
Symbol 599 TextUses:43Used by:Timeline
Symbol 600 TextUses:43Used by:Timeline
Symbol 601 GraphicUsed by:618
Symbol 602 GraphicUsed by:618
Symbol 603 GraphicUsed by:618
Symbol 604 GraphicUsed by:618
Symbol 605 GraphicUsed by:618
Symbol 606 GraphicUsed by:618
Symbol 607 GraphicUsed by:618
Symbol 608 GraphicUsed by:618
Symbol 609 GraphicUsed by:618
Symbol 610 GraphicUsed by:618
Symbol 611 GraphicUsed by:618
Symbol 612 GraphicUsed by:618
Symbol 613 GraphicUsed by:618
Symbol 614 GraphicUsed by:618
Symbol 615 GraphicUsed by:618
Symbol 616 GraphicUsed by:618
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClip {Blocks_fla.completion_anim_208}Uses:601 602 603 604 605 606 607 42 608 609 610 611 612 613 614 615 616 617Used by:Timeline
Symbol 619 GraphicUsed by:620
Symbol 620 MovieClipUses:619Used by:634
Symbol 621 GraphicUsed by:622
Symbol 622 MovieClipUses:621Used by:634 638 642 648 652 660 664 674 686
Symbol 623 GraphicUsed by:624
Symbol 624 MovieClipUses:623Used by:634 638 642 648 652 660 664 674 686
Symbol 625 GraphicUsed by:634
Symbol 626 GraphicUsed by:627
Symbol 627 MovieClipUses:626Used by:634 638 642 648 652 660 664
Symbol 628 GraphicUsed by:629
Symbol 629 MovieClipUses:628Used by:634 638 642
Symbol 630 GraphicUsed by:631
Symbol 631 MovieClipUses:630Used by:634 638 642 660 664
Symbol 632 GraphicUsed by:633
Symbol 633 MovieClipUses:632Used by:634 638 642
Symbol 634 MovieClip {Blocks_fla.won_clip_0_211}Uses:620 622 624 625 627 629 631 633 42Used by:687
Symbol 635 GraphicUsed by:638 642 648 652 660 664 674 686
Symbol 636 GraphicUsed by:637
Symbol 637 MovieClipUses:636Used by:638
Symbol 638 MovieClip {Blocks_fla.won_clip_1_219}Uses:635 637 622 624 627 629 631 633 42Used by:687
Symbol 639 GraphicUsed by:642 648 652 660 664 674 686
Symbol 640 GraphicUsed by:641
Symbol 641 MovieClipUses:640Used by:642
Symbol 642 MovieClip {Blocks_fla.won_clip_2_221}Uses:635 639 641 622 624 627 629 631 633 42Used by:687
Symbol 643 GraphicUsed by:648 652 660 664 674 686
Symbol 644 GraphicUsed by:645
Symbol 645 MovieClipUses:644Used by:648
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClipUses:646Used by:648 652
Symbol 648 MovieClip {Blocks_fla.won_clip_3_223}Uses:635 639 643 645 622 624 627 647 42Used by:687
Symbol 649 GraphicUsed by:650
Symbol 650 MovieClipUses:649Used by:652
Symbol 651 GraphicUsed by:652 660 664 674 686
Symbol 652 MovieClip {Blocks_fla.won_clip_4_226}Uses:635 639 643 650 651 622 624 627 647 42Used by:687
Symbol 653 GraphicUsed by:654
Symbol 654 MovieClipUses:653Used by:660
Symbol 655 GraphicUsed by:660 664 674 686
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClipUses:656Used by:660 664 674
Symbol 658 GraphicUsed by:659
Symbol 659 MovieClipUses:658Used by:660 664
Symbol 660 MovieClip {Blocks_fla.won_clip_5_228}Uses:635 639 643 651 654 655 622 624 627 657 631 659 42Used by:687
Symbol 661 GraphicUsed by:662
Symbol 662 MovieClipUses:661Used by:664
Symbol 663 GraphicUsed by:664 674 686
Symbol 664 MovieClip {Blocks_fla.won_clip_6_232}Uses:635 639 643 651 655 662 663 622 624 627 657 631 659 42Used by:687
Symbol 665 GraphicUsed by:674 686
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClipUses:666Used by:674
Symbol 668 GraphicUsed by:669
Symbol 669 MovieClipUses:668Used by:674
Symbol 670 GraphicUsed by:671
Symbol 671 MovieClipUses:670Used by:674
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClipUses:672Used by:674
Symbol 674 MovieClip {Blocks_fla.won_clip_7_234}Uses:635 639 643 651 655 663 665 667 622 624 669 671 657 673 42Used by:687
Symbol 675 GraphicUsed by:676
Symbol 676 MovieClipUses:675Used by:686
Symbol 677 GraphicUsed by:686
Symbol 678 GraphicUsed by:679
Symbol 679 MovieClipUses:678Used by:686
Symbol 680 GraphicUsed by:681
Symbol 681 MovieClipUses:680Used by:686
Symbol 682 GraphicUsed by:683
Symbol 683 MovieClipUses:682Used by:686
Symbol 684 GraphicUsed by:685
Symbol 685 MovieClipUses:684Used by:686
Symbol 686 MovieClip {Blocks_fla.won_clip_8_239}Uses:635 639 643 651 655 663 665 676 622 624 677 679 681 683 685 42Used by:687
Symbol 687 MovieClip {Blocks_fla.complete_star_clip_210}Uses:634 638 642 648 652 660 664 674 686Used by:Timeline

Instance Names

"mystery_block"Frame 1Symbol 376 MovieClip {Blocks_fla.mystery_block_4}
"introanim"Frame 2Symbol 229 MovieClip {intro_anim}
"introIn2"Frame 2Symbol 394 MovieClip {Blocks_fla.intro_text_anim_89}
"SpilGamesButton"Frame 2Symbol 228 Button {spill.localisation.SpilGamesLink}
"__id0_"Frame 2Symbol 224 MovieClip {spill.localisation.LanguageSelectBox}
"menuarea"Frame 2Symbol 223 MovieClip {menu_text_clip}
"Trans1"Frame 2Symbol 211 MovieClip {transition_in}
"introOut"Frame 3Symbol 434 MovieClip {Blocks_fla.intro_text_anim_out_120}
"back_bt"Frame 4Symbol 436 MovieClip {Blocks_fla.back_button_121}
"leftDot"Frame 4Symbol 27 MovieClip
"rightDot"Frame 4Symbol 27 MovieClip
"aalogo"Frame 4Symbol 440 MovieClip
"credits_development_by"Frame 4Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"credits_music_by"Frame 4Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"credits_title"Frame 4Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"Trans1"Frame 4Symbol 211 MovieClip {transition_in}
"cloud_1"Frame 6Symbol 445 MovieClip
"cloud_0"Frame 6Symbol 447 MovieClip
"Frame01Level01"Frame 6Symbol 449 MovieClip
"Frame01Level02"Frame 6Symbol 451 MovieClip
"Frame01Level04"Frame 6Symbol 451 MovieClip
"Frame01Level03"Frame 6Symbol 451 MovieClip
"Frame01Level05"Frame 6Symbol 451 MovieClip
"Frame01Level07"Frame 6Symbol 451 MovieClip
"Frame01Level06"Frame 6Symbol 451 MovieClip
"Frame01Level08"Frame 6Symbol 451 MovieClip
"Frame01Level09"Frame 6Symbol 451 MovieClip
"Frame01Level10"Frame 6Symbol 453 MovieClip
"Trans1"Frame 6Symbol 211 MovieClip {transition_in}
"Frame01Star01"Frame 7Symbol 208 MovieClip {Star}
"Frame01Goal01"Frame 7Symbol 464 MovieClip
"Frame01Simple01"Frame 7Symbol 203 MovieClip {Simple}
"helpBox1"Frame 7Symbol 466 MovieClip {Blocks_fla.help_box1_139}
"Frame02Level07"Frame 8Symbol 449 MovieClip
"Frame02Level08"Frame 8Symbol 451 MovieClip
"Frame02Level09"Frame 8Symbol 451 MovieClip
"Frame02Goal01"Frame 8Symbol 464 MovieClip
"Frame02Level01"Frame 8Symbol 449 MovieClip
"Frame02Level02"Frame 8Symbol 451 MovieClip
"Frame02Level04"Frame 8Symbol 449 MovieClip
"Frame02Level05"Frame 8Symbol 451 MovieClip
"Frame02Goal02"Frame 8Symbol 464 MovieClip
"Frame02Goal03"Frame 8Symbol 464 MovieClip
"Frame02Simple01"Frame 8Symbol 203 MovieClip {Simple}
"Frame02Simple02"Frame 8Symbol 203 MovieClip {Simple}
"Frame02Simple03"Frame 8Symbol 203 MovieClip {Simple}
"Frame02Level10"Frame 8Symbol 453 MovieClip
"Frame02Level03"Frame 8Symbol 453 MovieClip
"Frame02Level06"Frame 8Symbol 453 MovieClip
"Trans2"Frame 8Symbol 211 MovieClip {transition_in}
"Frame03Level01"Frame 9Symbol 449 MovieClip
"Frame03Level02"Frame 9Symbol 451 MovieClip
"Frame03Level03"Frame 9Symbol 451 MovieClip
"Frame03Level06"Frame 9Symbol 451 MovieClip
"Frame03Level07"Frame 9Symbol 451 MovieClip
"Frame03Goal01"Frame 9Symbol 464 MovieClip
"Frame03Goal02"Frame 9Symbol 464 MovieClip
"Frame03Level05"Frame 9Symbol 449 MovieClip
"Frame03Simple01"Frame 9Symbol 203 MovieClip {Simple}
"Frame03Simple02"Frame 9Symbol 203 MovieClip {Simple}
"Frame03Level08"Frame 9Symbol 453 MovieClip
"Frame03Level04"Frame 9Symbol 453 MovieClip
"helpBox3"Frame 9Symbol 469 MovieClip {Blocks_fla.help_box2_140}
"Trans3"Frame 9Symbol 211 MovieClip {transition_in}
"Frame04Level04"Frame 10Symbol 449 MovieClip
"Frame04Level05"Frame 10Symbol 451 MovieClip
"Frame04Level06"Frame 10Symbol 451 MovieClip
"Frame04Level02"Frame 10Symbol 451 MovieClip
"Frame04Level07"Frame 10Symbol 453 MovieClip
"Frame04Level01"Frame 10Symbol 449 MovieClip
"Frame04Goal01"Frame 10Symbol 471 MovieClip
"Frame04Simple02"Frame 10Symbol 203 MovieClip {Simple}
"Frame04Simple01"Frame 10Symbol 203 MovieClip {Simple}
"Frame04Level03"Frame 10Symbol 453 MovieClip
"Trans4"Frame 10Symbol 211 MovieClip {transition_in}
"Frame05Level02"Frame 11Symbol 449 MovieClip
"Frame05Level03"Frame 11Symbol 451 MovieClip
"Frame05Level04"Frame 11Symbol 451 MovieClip
"Frame05Goal01"Frame 11Symbol 474 MovieClip
"Frame05Level01"Frame 11Symbol 476 MovieClip
"Frame06Level06"Frame 11Symbol 476 MovieClip
"Frame05Simple02"Frame 11Symbol 203 MovieClip {Simple}
"Frame05Simple03"Frame 11Symbol 203 MovieClip {Simple}
"Frame05Simple01"Frame 11Symbol 203 MovieClip {Simple}
"Frame05Simple04"Frame 11Symbol 203 MovieClip {Simple}
"Frame05Level05"Frame 11Symbol 453 MovieClip
"Trans5"Frame 11Symbol 211 MovieClip {transition_in}
"Frame06Level09"Frame 12Symbol 449 MovieClip
"Frame06Level10"Frame 12Symbol 451 MovieClip
"Frame06Level11"Frame 12Symbol 451 MovieClip
"Frame06Goal01"Frame 12Symbol 479 MovieClip
"Frame06Level01"Frame 12Symbol 449 MovieClip
"Frame06Level02"Frame 12Symbol 451 MovieClip
"Frame06Level03"Frame 12Symbol 451 MovieClip
"Frame06Simple01"Frame 12Symbol 203 MovieClip {Simple}
"Frame06Simple02"Frame 12Symbol 203 MovieClip {Simple}
"Frame06Simple03"Frame 12Symbol 203 MovieClip {Simple}
"Frame06Level12"Frame 12Symbol 453 MovieClip
"Frame06Level04"Frame 12Symbol 453 MovieClip
"Frame06Level08"Frame 12Symbol 453 MovieClip
"Frame06Level06"Frame 12Symbol 451 MovieClip
"Frame06Level05"Frame 12Symbol 449 MovieClip
"Frame06Level07"Frame 12Symbol 451 MovieClip
"Trans6"Frame 12Symbol 211 MovieClip {transition_in}
"Frame07Level01"Frame 13Symbol 449 MovieClip
"Frame07Level03"Frame 13Symbol 451 MovieClip
"Frame07Level02"Frame 13Symbol 451 MovieClip
"Frame07Level04"Frame 13Symbol 451 MovieClip
"Frame07Level06"Frame 13Symbol 451 MovieClip
"Frame07Level05"Frame 13Symbol 451 MovieClip
"Frame07Level07"Frame 13Symbol 451 MovieClip
"Frame07Goal01"Frame 13Symbol 482 MovieClip
"Frame07Simple04"Frame 13Symbol 203 MovieClip {Simple}
"Frame07Simple03"Frame 13Symbol 203 MovieClip {Simple}
"Frame07Simple05"Frame 13Symbol 203 MovieClip {Simple}
"Frame07Simple02"Frame 13Symbol 203 MovieClip {Simple}
"Frame07Simple01"Frame 13Symbol 203 MovieClip {Simple}
"Frame07Level08"Frame 13Symbol 453 MovieClip
"Trans7"Frame 13Symbol 211 MovieClip {transition_in}
"Frame08Goal01"Frame 14Symbol 479 MovieClip
"Frame08Level11"Frame 14Symbol 449 MovieClip
"Frame08Level12"Frame 14Symbol 451 MovieClip
"Frame08Level10"Frame 14Symbol 476 MovieClip
"Frame08Level01"Frame 14Symbol 476 MovieClip
"Frame08Level07"Frame 14Symbol 449 MovieClip
"Frame08Level14"Frame 14Symbol 476 MovieClip
"Frame08Level01"Frame 14Symbol 449 MovieClip
"Frame08Level06"Frame 14Symbol 476 MovieClip
"Frame08Level02"Frame 14Symbol 451 MovieClip
"Frame08Level03"Frame 14Symbol 451 MovieClip
"Frame08Level05"Frame 14Symbol 476 MovieClip
"Frame08Mesh04"Frame 14Symbol 484 MovieClip
"Frame08Mesh01"Frame 14Symbol 485 MovieClip
"Frame08Mesh02"Frame 14Symbol 485 MovieClip
"Frame08Mesh03"Frame 14Symbol 486 MovieClip
"Frame08Simple01"Frame 14Symbol 203 MovieClip {Simple}
"Frame08Level13"Frame 14Symbol 453 MovieClip
"Frame08Level08"Frame 14Symbol 453 MovieClip
"Frame08Level04"Frame 14Symbol 453 MovieClip
"helpBox4"Frame 14Symbol 488 MovieClip {Blocks_fla.help_box3_151}
"Trans8"Frame 14Symbol 211 MovieClip {transition_in}
"Frame09Level02"Frame 15Symbol 491 MovieClip
"Frame09Level03"Frame 15Symbol 493 MovieClip
"Frame09Level01"Frame 15Symbol 495 MovieClip
"Frame09Level06"Frame 15Symbol 495 MovieClip
"Frame10Mesh02"Frame 15Symbol 496 MovieClip
"Frame10Mesh01"Frame 15Symbol 496 MovieClip
"Frame09Level04"Frame 15Symbol 493 MovieClip
"Frame09Level05"Frame 15Symbol 498 MovieClip
"Trans9"Frame 15Symbol 211 MovieClip {transition_in}
"Frame09Goal01"Frame 16Symbol 474 MovieClip
"Frame09Girl01"Frame 16Symbol 197 MovieClip {Girl}
"Frame09Girl02"Frame 16Symbol 197 MovieClip {Girl}
"Frame10Level03"Frame 17Symbol 491 MovieClip
"Frame10Level05"Frame 17Symbol 493 MovieClip
"Frame10Level04"Frame 17Symbol 493 MovieClip
"Frame10Level06"Frame 17Symbol 493 MovieClip
"Frame10Level01"Frame 17Symbol 491 MovieClip
"Frame10Level08"Frame 17Symbol 491 MovieClip
"Frame10Goal01"Frame 17Symbol 479 MovieClip
"Frame10Star01"Frame 17Symbol 208 MovieClip {Star}
"Frame10Girl01"Frame 17Symbol 197 MovieClip {Girl}
"Frame10Girl02"Frame 17Symbol 197 MovieClip {Girl}
"Frame10Girl03"Frame 17Symbol 197 MovieClip {Girl}
"Frame10Girl04"Frame 17Symbol 197 MovieClip {Girl}
"Frame10Level07"Frame 17Symbol 498 MovieClip
"Frame10Level02"Frame 17Symbol 498 MovieClip
"Frame10Level09"Frame 17Symbol 498 MovieClip
"helpBox2"Frame 17Symbol 508 MovieClip {Blocks_fla.help_box4_165}
"Trans10"Frame 17Symbol 211 MovieClip {transition_in}
"Frame11Mesh05"Frame 18Symbol 509 MovieClip
"Frame11Level06"Frame 18Symbol 495 MovieClip
"Frame11Goal01"Frame 18Symbol 464 MovieClip
"Frame11Star01"Frame 18Symbol 208 MovieClip {Star}
"Frame11Mesh01"Frame 18Symbol 485 MovieClip
"Frame11Mesh02"Frame 18Symbol 509 MovieClip
"Frame11Level05"Frame 18Symbol 495 MovieClip
"Frame11Mesh04"Frame 18Symbol 486 MovieClip
"Frame11Mesh03"Frame 18Symbol 486 MovieClip
"Frame11Level07"Frame 18Symbol 495 MovieClip
"Frame11Girl01"Frame 18Symbol 197 MovieClip {Girl}
"Frame11Level01"Frame 18Symbol 491 MovieClip
"Frame11Level02"Frame 18Symbol 498 MovieClip
"Frame11Level03"Frame 18Symbol 491 MovieClip
"Frame11Level04"Frame 18Symbol 498 MovieClip
"Trans11"Frame 18Symbol 211 MovieClip {transition_in}
"Frame12Level01"Frame 19Symbol 491 MovieClip
"Frame12Mesh02"Frame 19Symbol 511 MovieClip
"Frame12Goal01"Frame 19Symbol 479 MovieClip
"Frame12Mesh01"Frame 19Symbol 512 MovieClip
"Frame12Mesh03"Frame 19Symbol 511 MovieClip
"Frame12Girl01"Frame 19Symbol 197 MovieClip {Girl}
"Frame12Level02"Frame 19Symbol 498 MovieClip
"Frame12Star01"Frame 19Symbol 208 MovieClip {Star}
"Trans12"Frame 19Symbol 211 MovieClip {transition_in}
"Frame15Mesh02"Frame 20Symbol 514 MovieClip
"Frame15Mesh01"Frame 20Symbol 515 MovieClip
"Frame15Star01"Frame 20Symbol 208 MovieClip {Star}
"Frame15Level01"Frame 20Symbol 491 MovieClip
"Frame15Level02"Frame 20Symbol 498 MovieClip
"Frame15Mesh06"Frame 20Symbol 516 MovieClip
"Frame15Mesh05"Frame 20Symbol 516 MovieClip
"Frame15Goal01"Frame 20Symbol 464 MovieClip
"Frame15Level07"Frame 20Symbol 493 MovieClip
"Frame15Level08"Frame 20Symbol 498 MovieClip
"Frame15Mesh04"Frame 20Symbol 512 MovieClip
"Frame15Level03"Frame 20Symbol 491 MovieClip
"Frame15Level05"Frame 20Symbol 498 MovieClip
"Frame15Mesh03"Frame 20Symbol 517 MovieClip
"Frame15Level06"Frame 20Symbol 491 MovieClip
"Frame15Mesh07"Frame 20Symbol 516 MovieClip
"Frame15Girl01"Frame 20Symbol 197 MovieClip {Girl}
"Frame15Level04"Frame 20Symbol 493 MovieClip
"Trans15"Frame 20Symbol 211 MovieClip {transition_in}
"Frame14Level01"Frame 21Symbol 491 MovieClip
"Frame14Level04"Frame 21Symbol 493 MovieClip
"Frame14Level05"Frame 21Symbol 493 MovieClip
"Frame14Level02"Frame 21Symbol 493 MovieClip
"Frame14Level03"Frame 21Symbol 493 MovieClip
"Frame14Mesh03"Frame 21Symbol 511 MovieClip
"Frame14Mesh02"Frame 21Symbol 511 MovieClip
"Frame14Level07"Frame 21Symbol 495 MovieClip
"Frame14Goal01"Frame 21Symbol 464 MovieClip
"Frame14Mesh01"Frame 21Symbol 509 MovieClip
"Frame14Girl01"Frame 21Symbol 197 MovieClip {Girl}
"Frame14Level06"Frame 21Symbol 498 MovieClip
"Trans14"Frame 21Symbol 211 MovieClip {transition_in}
"Frame13Level01"Frame 22Symbol 491 MovieClip
"Frame13Level03"Frame 22Symbol 493 MovieClip
"Frame13Level02"Frame 22Symbol 493 MovieClip
"Frame13Level04"Frame 22Symbol 493 MovieClip
"Frame13Goal01"Frame 22Symbol 521 MovieClip
"Frame13Girl01"Frame 22Symbol 197 MovieClip {Girl}
"Frame13Girl02"Frame 22Symbol 197 MovieClip {Girl}
"Frame13Level05"Frame 22Symbol 498 MovieClip
"Trans13"Frame 22Symbol 211 MovieClip {transition_in}
"Frame16Goal01"Frame 23Symbol 479 MovieClip
"Frame16Level04"Frame 23Symbol 495 MovieClip
"Frame16Level05"Frame 23Symbol 495 MovieClip
"Frame16Level06"Frame 23Symbol 495 MovieClip
"Frame16Level07"Frame 23Symbol 495 MovieClip
"Frame16Level08"Frame 23Symbol 495 MovieClip
"Frame16Level11"Frame 23Symbol 495 MovieClip
"Frame16Level10"Frame 23Symbol 495 MovieClip
"Frame16Level09"Frame 23Symbol 495 MovieClip
"Frame16Star01"Frame 23Symbol 208 MovieClip {Star}
"Frame16Mesh01"Frame 23Symbol 515 MovieClip
"Frame16Mesh02"Frame 23Symbol 485 MovieClip
"Frame16Mesh03"Frame 23Symbol 485 MovieClip
"Frame16Girl01"Frame 23Symbol 197 MovieClip {Girl}
"Frame16Level03"Frame 23Symbol 498 MovieClip
"Frame16Level01"Frame 23Symbol 491 MovieClip
"Frame16Level02"Frame 23Symbol 493 MovieClip
"Trans16"Frame 23Symbol 211 MovieClip {transition_in}
"Frame26Mesh02"Frame 24Symbol 517 MovieClip
"Frame26Mesh01"Frame 24Symbol 529 MovieClip
"Frame26Mesh03"Frame 24Symbol 486 MovieClip
"Frame03Goal01"Frame 24Symbol 464 MovieClip
"Frame26Level01"Frame 25Symbol 531 MovieClip
"Frame26Level02"Frame 25Symbol 533 MovieClip
"Frame26Mesh03"Frame 25Symbol 486 MovieClip
"Frame26Mesh01"Frame 25Symbol 529 MovieClip
"Frame26Level03"Frame 25Symbol 535 MovieClip
"Frame26Bomb01"Frame 25Symbol 188 MovieClip {Bomb}
"Frame26Bomb02"Frame 25Symbol 188 MovieClip {Bomb}
"Frame26Bomb03"Frame 25Symbol 188 MovieClip {Bomb}
"Frame26Goal01"Frame 25Symbol 464 MovieClip
"Frame26Tech01"Frame 25Symbol 146 MovieClip {Tech}
"helpBox5"Frame 25Symbol 545 MovieClip {Blocks_fla.help_box5_185}
"Frame29Mesh01"Frame 26Symbol 485 MovieClip
"Frame29Mesh02"Frame 26Symbol 485 MovieClip
"Frame03Goal01"Frame 26Symbol 464 MovieClip
"Frame03Goal01"Frame 26Symbol 464 MovieClip
"Frame29Level01"Frame 26Symbol 531 MovieClip
"Frame29Level02"Frame 26Symbol 533 MovieClip
"Frame29Level04"Frame 26Symbol 533 MovieClip
"Frame29Level05"Frame 26Symbol 535 MovieClip
"Frame29Level03"Frame 26Symbol 533 MovieClip
"Frame29Bomb05"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb04"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb03"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb02"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb01"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb10"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb09"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb08"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb07"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb06"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb15"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb14"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb13"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb12"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Bomb11"Frame 26Symbol 188 MovieClip {Bomb}
"Frame29Tech01"Frame 26Symbol 146 MovieClip {Tech}
"Frame29Tech02"Frame 26Symbol 146 MovieClip {Tech}
"Frame30Mesh03"Frame 27Symbol 512 MovieClip
"Frame30Mesh01"Frame 27Symbol 529 MovieClip
"Frame30Level01"Frame 27Symbol 548 MovieClip
"Frame30Goal01"Frame 27Symbol 464 MovieClip
"Frame30Bomb05"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Bomb06"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Bomb04"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Bomb02"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Bomb03"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Bomb01"Frame 27Symbol 188 MovieClip {Bomb}
"Frame30Mesh02"Frame 27Symbol 549 MovieClip
"Frame30Tech01"Frame 27Symbol 146 MovieClip {Tech}
"Frame31Mesh03"Frame 28Symbol 515 MovieClip
"Frame31Mesh02"Frame 28Symbol 485 MovieClip
"Frame31Bomb18"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb19"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb20"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb07"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb06"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb05"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb04"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb17"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb08"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb02"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb01"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb09"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb15"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb16"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb03"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb10"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Mesh01"Frame 28Symbol 514 MovieClip
"Frame31Bomb14"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb13"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb12"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Bomb11"Frame 28Symbol 188 MovieClip {Bomb}
"Frame31Goal01"Frame 28Symbol 464 MovieClip
"Frame31Tech01"Frame 28Symbol 146 MovieClip {Tech}
"Frame28Mesh01"Frame 29Symbol 512 MovieClip
"Frame28Level01"Frame 29Symbol 548 MovieClip
"Frame28Bomb01"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb02"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb03"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb04"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb05"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb06"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb07"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb08"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb09"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb10"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb13"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb12"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb11"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb14"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb15"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb16"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb17"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb18"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb20"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb21"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Bomb22"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Goal01"Frame 29Symbol 464 MovieClip
"Frame28Bomb19"Frame 29Symbol 188 MovieClip {Bomb}
"Frame28Tech01"Frame 29Symbol 146 MovieClip {Tech}
"Frame32Mesh13"Frame 30Symbol 553 MovieClip
"Frame32Mesh12"Frame 30Symbol 486 MovieClip
"Frame32Mesh11"Frame 30Symbol 486 MovieClip
"Frame32Mesh07"Frame 30Symbol 485 MovieClip
"Frame32Mesh09"Frame 30Symbol 486 MovieClip
"Frame32Mesh08"Frame 30Symbol 486 MovieClip
"Frame32Mesh03"Frame 30Symbol 514 MovieClip
"Frame32Mesh04"Frame 30Symbol 486 MovieClip
"Frame32Mesh06"Frame 30Symbol 515 MovieClip
"Frame32Mesh05"Frame 30Symbol 515 MovieClip
"Frame32Mesh01"Frame 30Symbol 486 MovieClip
"Frame32Mesh02"Frame 30Symbol 553 MovieClip
"Frame32Bomb08"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb09"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb03"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb07"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb10"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb13"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb04"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb14"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb02"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb12"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb05"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb15"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb06"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb16"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb01"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Bomb11"Frame 30Symbol 188 MovieClip {Bomb}
"Frame32Mesh10"Frame 30Symbol 514 MovieClip
"Frame32Goal01"Frame 30Symbol 464 MovieClip
"Frame32Tech01"Frame 30Symbol 146 MovieClip {Tech}
"Frame27Mesh03"Frame 31Symbol 512 MovieClip
"Frame27Mesh04"Frame 31Symbol 486 MovieClip
"Frame27Mesh02"Frame 31Symbol 509 MovieClip
"Frame27Level01"Frame 31Symbol 548 MovieClip
"Frame27Mesh01"Frame 31Symbol 529 MovieClip
"Frame27Goal01"Frame 31Symbol 464 MovieClip
"Frame27Goal02"Frame 31Symbol 464 MovieClip
"Frame27Tech02"Frame 31Symbol 146 MovieClip {Tech}
"Frame27Tech01"Frame 31Symbol 146 MovieClip {Tech}
"Frame33Bomb17"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb18"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb19"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb20"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb21"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb22"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb23"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb24"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb25"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb01"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb02"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb03"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb04"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb05"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb06"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb07"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb08"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb09"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb10"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb11"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb12"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb13"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb14"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb15"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Bomb16"Frame 32Symbol 188 MovieClip {Bomb}
"Frame33Goal01"Frame 32Symbol 479 MovieClip
"Frame33Mesh02"Frame 32Symbol 486 MovieClip
"Frame33Mesh03"Frame 32Symbol 486 MovieClip
"Frame33Mesh01"Frame 32Symbol 485 MovieClip
"Frame33Tech01"Frame 32Symbol 146 MovieClip {Tech}
"Frame35Mesh14"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh07"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh08"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh09"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh10"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh11"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh01"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh02"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh03"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh04"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh05"Frame 33Symbol 200 MovieClip {Mesh}
"Frame05Goal01"Frame 33Symbol 479 MovieClip
"Frame35Bomb19"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Mesh06"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh13"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Mesh12"Frame 33Symbol 200 MovieClip {Mesh}
"Frame35Bomb25"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb20"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb21"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb22"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb23"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb24"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb18"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb17"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb16"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb15"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb14"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb13"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb02"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb03"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb04"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb05"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb06"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb07"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb01"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb08"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb09"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb10"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb11"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Bomb12"Frame 33Symbol 188 MovieClip {Bomb}
"Frame35Mesh15"Frame 33Symbol 485 MovieClip
"Frame35Level03"Frame 33Symbol 571 MovieClip
"Frame35Level01"Frame 33Symbol 573 MovieClip
"Frame35Level02"Frame 33Symbol 575 MovieClip
"Frame17Mesh14"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh07"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh08"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh09"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh10"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh11"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh01"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh02"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh03"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh04"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh05"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh06"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh13"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Mesh12"Frame 34Symbol 200 MovieClip {Mesh}
"Frame17Goal01"Frame 34Symbol 479 MovieClip
"Frame17Bomb19"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb25"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb20"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb21"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb22"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb23"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb24"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb18"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb17"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb16"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb15"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb14"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb13"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb02"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb03"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb04"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb05"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb06"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb07"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb01"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb08"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb09"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb10"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb11"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Bomb12"Frame 34Symbol 188 MovieClip {Bomb}
"Frame17Mesh15"Frame 34Symbol 485 MovieClip
"Frame17Level03"Frame 34Symbol 571 MovieClip
"Frame34Level01"Frame 34Symbol 573 MovieClip
"Frame17Level02"Frame 34Symbol 575 MovieClip
"Frame17Devil01"Frame 34Symbol 145 MovieClip {Devil}
"Frame18Mesh04"Frame 35Symbol 496 MovieClip
"Frame18Mesh01"Frame 35Symbol 511 MovieClip
"Frame18Mesh02"Frame 35Symbol 511 MovieClip
"Frame18Mesh03"Frame 35Symbol 496 MovieClip
"Frame18Bomb01"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb02"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb03"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb04"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb07"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb05"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb06"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb09"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb10"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb11"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb08"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Bomb12"Frame 35Symbol 188 MovieClip {Bomb}
"Frame18Mesh05"Frame 35Symbol 486 MovieClip
"Frame18Devil01"Frame 35Symbol 145 MovieClip {Devil}
"Frame18Level01"Frame 35Symbol 573 MovieClip
"Frame18Level02"Frame 35Symbol 575 MovieClip
"Frame18Level03"Frame 35Symbol 571 MovieClip
"Frame18Goal01"Frame 35Symbol 479 MovieClip
"Trans18"Frame 35Symbol 211 MovieClip {transition_in}
"Frame19Mesh02"Frame 36Symbol 516 MovieClip
"Frame19Mesh03"Frame 36Symbol 549 MovieClip
"Frame19Goal01"Frame 36Symbol 464 MovieClip
"Frame19Mesh04"Frame 36Symbol 485 MovieClip
"Frame19Bomb06"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb07"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb08"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb09"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb10"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb01"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb02"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb03"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb04"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Bomb05"Frame 36Symbol 188 MovieClip {Bomb}
"Frame19Level01"Frame 36Symbol 593 MovieClip
"Frame19Mesh01"Frame 36Symbol 511 MovieClip
"Frame19Devil01"Frame 36Symbol 145 MovieClip {Devil}
"Trans19"Frame 36Symbol 211 MovieClip {transition_in}
"Frame20Mesh07"Frame 37Symbol 511 MovieClip
"Frame20Mesh06"Frame 37Symbol 511 MovieClip
"Frame20Goal01"Frame 37Symbol 464 MovieClip
"Frame20Bomb04"Frame 37Symbol 188 MovieClip {Bomb}
"Frame20Bomb01"Frame 37Symbol 188 MovieClip {Bomb}
"Frame20Bomb02"Frame 37Symbol 188 MovieClip {Bomb}
"Frame20Bomb03"Frame 37Symbol 188 MovieClip {Bomb}
"Frame20Mesh05"Frame 37Symbol 200 MovieClip {Mesh}
"Frame20Mesh02"Frame 37Symbol 200 MovieClip {Mesh}
"Frame20Mesh04"Frame 37Symbol 200 MovieClip {Mesh}
"Frame20Level01"Frame 37Symbol 573 MovieClip
"Frame20Level02"Frame 37Symbol 571 MovieClip
"Frame20Mesh03"Frame 37Symbol 200 MovieClip {Mesh}
"Frame20Mesh01"Frame 37Symbol 512 MovieClip
"Frame20Devil01"Frame 37Symbol 145 MovieClip {Devil}
"Trans20"Frame 37Symbol 211 MovieClip {transition_in}
"Frame21Mesh03"Frame 38Symbol 511 MovieClip
"Frame21Mesh02"Frame 38Symbol 511 MovieClip
"Frame21Bomb01"Frame 38Symbol 188 MovieClip {Bomb}
"Frame21Bomb02"Frame 38Symbol 188 MovieClip {Bomb}
"Frame21Bomb03"Frame 38Symbol 188 MovieClip {Bomb}
"Frame21Bomb04"Frame 38Symbol 188 MovieClip {Bomb}
"Frame21Bomb05"Frame 38Symbol 188 MovieClip {Bomb}
"Frame21Level04"Frame 38Symbol 593 MovieClip
"Frame21Goal01"Frame 38Symbol 464 MovieClip
"Frame21Mesh01"Frame 38Symbol 511 MovieClip
"Frame21Mesh04"Frame 38Symbol 511 MovieClip
"Frame21Level01"Frame 38Symbol 573 MovieClip
"Frame21Level02"Frame 38Symbol 575 MovieClip
"Frame21Level03"Frame 38Symbol 571 MovieClip
"Frame21Devil01"Frame 38Symbol 145 MovieClip {Devil}
"Frame21Star01"Frame 38Symbol 208 MovieClip {Star}
"Trans21"Frame 38Symbol 211 MovieClip {transition_in}
"Frame22Mesh02"Frame 39Symbol 512 MovieClip
"Frame22Star01"Frame 39Symbol 208 MovieClip {Star}
"Frame22Mesh05"Frame 39Symbol 514 MovieClip
"Frame22Mesh01"Frame 39Symbol 511 MovieClip
"Frame22Level04"Frame 39Symbol 573 MovieClip
"Frame22Mesh06"Frame 39Symbol 485 MovieClip
"Frame22Level06"Frame 39Symbol 573 MovieClip
"Frame22Level02"Frame 39Symbol 573 MovieClip
"Frame22Bomb07"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb08"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb09"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Mesh04"Frame 39Symbol 485 MovieClip
"Frame22Bomb04"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb05"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb06"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb02"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Mesh03"Frame 39Symbol 485 MovieClip
"Frame22Level01"Frame 39Symbol 593 MovieClip
"Frame22Bomb01"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Bomb03"Frame 39Symbol 188 MovieClip {Bomb}
"Frame22Goal01"Frame 39Symbol 464 MovieClip
"Frame22Mesh07"Frame 39Symbol 514 MovieClip
"Frame22Mesh08"Frame 39Symbol 514 MovieClip
"Frame22Mesh11"Frame 39Symbol 514 MovieClip
"Frame22Devil01"Frame 39Symbol 145 MovieClip {Devil}
"Frame22Level05"Frame 39Symbol 571 MovieClip
"Frame22Level07"Frame 39Symbol 571 MovieClip
"Frame22Level03"Frame 39Symbol 571 MovieClip
"Trans22"Frame 39Symbol 211 MovieClip {transition_in}
"Frame23Goal01"Frame 40Symbol 471 MovieClip
"Frame23Mesh01"Frame 40Symbol 509 MovieClip
"Frame23Bomb03"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb04"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb01"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb02"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Mesh02"Frame 40Symbol 509 MovieClip
"Frame23Bomb07"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb8"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb05"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Bomb06"Frame 40Symbol 188 MovieClip {Bomb}
"Frame23Level02"Frame 40Symbol 573 MovieClip
"Frame23Level03"Frame 40Symbol 575 MovieClip
"Frame23Level05"Frame 40Symbol 571 MovieClip
"Frame23Devil01"Frame 40Symbol 145 MovieClip {Devil}
"Frame23Devil02"Frame 40Symbol 145 MovieClip {Devil}
"Trans23"Frame 40Symbol 211 MovieClip {transition_in}
"Frame24Mesh09"Frame 41Symbol 200 MovieClip {Mesh}
"Frame24Mesh08"Frame 41Symbol 200 MovieClip {Mesh}
"Frame24Mesh05"Frame 41Symbol 496 MovieClip
"Frame24Mesh06"Frame 41Symbol 485 MovieClip
"Frame24Mesh03"Frame 41Symbol 549 MovieClip
"Frame24Level05"Frame 41Symbol 593 MovieClip
"Frame24Level06"Frame 41Symbol 593 MovieClip
"Frame24Level07"Frame 41Symbol 593 MovieClip
"Frame24Level08"Frame 41Symbol 593 MovieClip
"Frame24Level09"Frame 41Symbol 593 MovieClip
"Frame24Level11"Frame 41Symbol 573 MovieClip
"Frame24Level10"Frame 41Symbol 571 MovieClip
"Frame24Mesh04"Frame 41Symbol 514 MovieClip
"Frame24Mesh01"Frame 41Symbol 515 MovieClip
"Frame24Mesh02"Frame 41Symbol 517 MovieClip
"Frame24Level12"Frame 41Symbol 593 MovieClip
"Frame24Level13"Frame 41Symbol 593 MovieClip
"Frame24Level14"Frame 41Symbol 593 MovieClip
"Frame24Goal01"Frame 41Symbol 464 MovieClip
"Frame24Mesh07"Frame 41Symbol 514 MovieClip
"Frame24Mesh10"Frame 41Symbol 485 MovieClip
"Frame24Level04"Frame 41Symbol 571 MovieClip
"Frame24Level01"Frame 41Symbol 573 MovieClip
"Frame24Level02"Frame 41Symbol 575 MovieClip
"Frame24Level03"Frame 41Symbol 575 MovieClip
"Frame24Devil01"Frame 41Symbol 145 MovieClip {Devil}
"Frame24Level15"Frame 41Symbol 593 MovieClip
"Trans24"Frame 41Symbol 211 MovieClip {transition_in}
"Frame25Mesh03"Frame 42Symbol 549 MovieClip
"Frame25Mesh02"Frame 42Symbol 509 MovieClip
"Frame25Goal01"Frame 42Symbol 479 MovieClip
"Frame25Bomb14"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb13"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb15"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb01"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb02"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb03"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb04"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb16"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb17"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Mesh01"Frame 42Symbol 516 MovieClip
"Frame25Bomb18"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb10"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb19"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Bomb07"Frame 42Symbol 188 MovieClip {Bomb}
"Frame25Devil01"Frame 42Symbol 145 MovieClip {Devil}
"Frame25Level01"Frame 42Symbol 573 MovieClip
"Frame25Level02"Frame 42Symbol 575 MovieClip
"Frame25Level03"Frame 42Symbol 571 MovieClip
"Frame25Level04"Frame 42Symbol 573 MovieClip
"Frame25Level05"Frame 42Symbol 575 MovieClip
"Frame25Level06"Frame 42Symbol 571 MovieClip
"Trans25"Frame 42Symbol 211 MovieClip {transition_in}
"block_2"Frame 43Symbol 39 MovieClip {Blocks_fla.won_block_clip_209}
"block_1"Frame 43Symbol 39 MovieClip {Blocks_fla.won_block_clip_209}
"invBackButton"Frame 43Symbol 436 MovieClip {Blocks_fla.back_button_121}
"star_clip"Frame 43Symbol 687 MovieClip {Blocks_fla.complete_star_clip_210}
"leftDot"Symbol 38 MovieClip Frame 1Symbol 27 MovieClip
"rightDot"Symbol 38 MovieClip Frame 1Symbol 27 MovieClip
"leftDot"Symbol 39 MovieClip {Blocks_fla.won_block_clip_209} Frame 2Symbol 27 MovieClip
"rightDot"Symbol 39 MovieClip {Blocks_fla.won_block_clip_209} Frame 2Symbol 27 MovieClip
"eyes"Symbol 39 MovieClip {Blocks_fla.won_block_clip_209} Frame 4Symbol 38 MovieClip
"won_clip"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 39 MovieClip {Blocks_fla.won_block_clip_209}
"general_click_continue"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"general_total_stars"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"general_level_complete"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"star_clip"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 56 MovieClip {Blocks_fla.won_star_clip_270}
"levelEndStars"Symbol 59 MovieClip {WonPopUp} Frame 1Symbol 58 EditableText
"general_click_restart"Symbol 61 MovieClip {LostPopUp} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"general_level_failed"Symbol 61 MovieClip {LostPopUp} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"flag"Symbol 94 MovieClip Frame 1Symbol 91 MovieClip {Blocks_fla.flag_icon_262}
"text"Symbol 94 MovieClip Frame 1Symbol 93 EditableText
"l_de"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_en_us"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_fr"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_it"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_nl"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_pl"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_es_mx"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_br"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_cn"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_en_uk"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_es"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_id"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_jp"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_pt"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_ar"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_in"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_es_ar"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_se"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"l_ru"Symbol 97 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 94 MovieClip
"languageName_text"Symbol 101 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 100 EditableText
"flag"Symbol 101 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 91 MovieClip {Blocks_fla.flag_icon_262}
"menuGraphic"Symbol 124 MovieClip {menu_stars} Frame 1Symbol 122 MovieClip
"noOfStars"Symbol 124 MovieClip {menu_stars} Frame 1Symbol 123 EditableText
"myinvButton2"Symbol 129 MovieClip {Pause_Menu} Frame 1Symbol 118 MovieClip {invButton}
"menuStar"Symbol 129 MovieClip {Pause_Menu} Frame 13Symbol 124 MovieClip {menu_stars}
"musicIcon"Symbol 129 MovieClip {Pause_Menu} Frame 20Symbol 126 MovieClip
"sfxIcon"Symbol 129 MovieClip {Pause_Menu} Frame 30Symbol 128 MovieClip
"myinvButton3"Symbol 129 MovieClip {Pause_Menu} Frame 31Symbol 118 MovieClip {invButton}
"myinvButtonMusic"Symbol 129 MovieClip {Pause_Menu} Frame 31Symbol 118 MovieClip {invButton}
"myinvButtonSFX"Symbol 129 MovieClip {Pause_Menu} Frame 31Symbol 118 MovieClip {invButton}
"myinvButtonSkip"Symbol 129 MovieClip {Pause_Menu} Frame 31Symbol 118 MovieClip {invButton}
"myinvButton2"Symbol 129 MovieClip {Pause_Menu} Frame 61Symbol 118 MovieClip {invButton}
"invButtonClose"Symbol 137 MovieClip {HelpBox} Frame 1Symbol 118 MovieClip {invButton}
"myText"Symbol 137 MovieClip {HelpBox} Frame 1Symbol 134 EditableText
"invButtonOpen"Symbol 137 MovieClip {HelpBox} Frame 2Symbol 118 MovieClip {invButton}
"leftDot"Symbol 142 MovieClip {Eyes} Frame 1Symbol 27 MovieClip
"rightDot"Symbol 142 MovieClip {Eyes} Frame 1Symbol 27 MovieClip
"leftDot"Symbol 142 MovieClip {Eyes} Frame 18Symbol 27 MovieClip
"rightDot"Symbol 142 MovieClip {Eyes} Frame 18Symbol 27 MovieClip
"leftDot"Symbol 142 MovieClip {Eyes} Frame 49Symbol 27 MovieClip
"rightDot"Symbol 142 MovieClip {Eyes} Frame 49Symbol 27 MovieClip
"eyes"Symbol 145 MovieClip {Devil} Frame 1Symbol 142 MovieClip {Eyes}
"eyes"Symbol 145 MovieClip {Devil} Frame 10Symbol 142 MovieClip {Eyes}
"eyes"Symbol 146 MovieClip {Tech} Frame 1Symbol 142 MovieClip {Eyes}
"bomb_blink"Symbol 188 MovieClip {Bomb} Frame 1Symbol 181 MovieClip
"leftDot"Symbol 193 MovieClip {GirlEyes} Frame 1Symbol 190 MovieClip
"rightDot"Symbol 193 MovieClip {GirlEyes} Frame 1Symbol 192 MovieClip
"leftDot"Symbol 193 MovieClip {GirlEyes} Frame 18Symbol 190 MovieClip
"rightDot"Symbol 193 MovieClip {GirlEyes} Frame 18Symbol 192 MovieClip
"leftDot"Symbol 193 MovieClip {GirlEyes} Frame 49Symbol 190 MovieClip
"rightDot"Symbol 193 MovieClip {GirlEyes} Frame 49Symbol 192 MovieClip
"eyes"Symbol 197 MovieClip {Girl} Frame 1Symbol 193 MovieClip {GirlEyes}
"eyes"Symbol 203 MovieClip {Simple} Frame 1Symbol 142 MovieClip {Eyes}
"btn_startgame"Symbol 212 MovieClip {Blocks_fla.menu_clip_start_100} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"btn_more_games"Symbol 213 MovieClip {Blocks_fla.menu_clip_more_games_101} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"btn_continue"Symbol 214 MovieClip {Blocks_fla.menu_clip_continue_102} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"btn_credits"Symbol 215 MovieClip {Blocks_fla.menu_clip_credits_103} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"btn_walkthrough"Symbol 216 MovieClip {Blocks_fla.menu_clip_walkthrough_104} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"left_button"Symbol 223 MovieClip {menu_text_clip} Frame 1Symbol 219 MovieClip {Blocks_fla.menu_button_left_105}
"right_button"Symbol 223 MovieClip {menu_text_clip} Frame 1Symbol 222 MovieClip {Blocks_fla.menu_button_right_107}
"myinvButton"Symbol 223 MovieClip {menu_text_clip} Frame 1Symbol 118 MovieClip {invButton}
"right_button"Symbol 223 MovieClip {menu_text_clip} Frame 51Symbol 222 MovieClip {Blocks_fla.menu_button_right_107}
"eyes"Symbol 229 MovieClip {intro_anim} Frame 1Symbol 38 MovieClip
"leftDot"Symbol 229 MovieClip {intro_anim} Frame 40Symbol 27 MovieClip
"rightDot"Symbol 229 MovieClip {intro_anim} Frame 40Symbol 27 MovieClip
"general_loading"Symbol 367 MovieClip {Blocks_fla.loading_clip_1} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"eyes"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 103Symbol 142 MovieClip {Eyes}
"leftDot"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 105Symbol 27 MovieClip
"rightDot"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 105Symbol 27 MovieClip
"leftDot"Symbol 413 MovieClip {Blocks_fla.intro_anim_out_112} Frame 1Symbol 27 MovieClip
"rightDot"Symbol 413 MovieClip {Blocks_fla.intro_anim_out_112} Frame 1Symbol 27 MovieClip
"eyes"Symbol 413 MovieClip {Blocks_fla.intro_anim_out_112} Frame 1Symbol 38 MovieClip
"btn_back"Symbol 436 MovieClip {Blocks_fla.back_button_121} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"eyes"Symbol 457 MovieClip {Blocks_fla.intro_clip_1_a_129} Frame 1Symbol 38 MovieClip
"talk_simple_1"Symbol 462 MovieClip {Blocks_fla.intro_1_clip_128} Frame 68Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"talk_simple_2"Symbol 462 MovieClip {Blocks_fla.intro_1_clip_128} Frame 134Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonClose"Symbol 466 MovieClip {Blocks_fla.help_box1_139} Frame 1Symbol 118 MovieClip {invButton}
"help_box_1"Symbol 466 MovieClip {Blocks_fla.help_box1_139} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonOpen"Symbol 466 MovieClip {Blocks_fla.help_box1_139} Frame 2Symbol 118 MovieClip {invButton}
"invButtonClose"Symbol 469 MovieClip {Blocks_fla.help_box2_140} Frame 1Symbol 118 MovieClip {invButton}
"help_box_2"Symbol 469 MovieClip {Blocks_fla.help_box2_140} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonOpen"Symbol 469 MovieClip {Blocks_fla.help_box2_140} Frame 2Symbol 118 MovieClip {invButton}
"invButtonClose"Symbol 488 MovieClip {Blocks_fla.help_box3_151} Frame 1Symbol 118 MovieClip {invButton}
"help_box_3"Symbol 488 MovieClip {Blocks_fla.help_box3_151} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonOpen"Symbol 488 MovieClip {Blocks_fla.help_box3_151} Frame 2Symbol 118 MovieClip {invButton}
"eyes"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 1Symbol 407 MovieClip
"eyes"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 1Symbol 407 MovieClip
"eyes"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 67Symbol 407 MovieClip
"talk_girl_1"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 72Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"talk_girl_2"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 128Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"eyes"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 186Symbol 407 MovieClip
"talk_girl_3"Symbol 505 MovieClip {Blocks_fla.Girl_anim_157} Frame 192Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonClose"Symbol 508 MovieClip {Blocks_fla.help_box4_165} Frame 1Symbol 118 MovieClip {invButton}
"help_box_4"Symbol 508 MovieClip {Blocks_fla.help_box4_165} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonOpen"Symbol 508 MovieClip {Blocks_fla.help_box4_165} Frame 2Symbol 118 MovieClip {invButton}
"eyes"Symbol 543 MovieClip {Blocks_fla.tech_intro_anim_181} Frame 1Symbol 142 MovieClip {Eyes}
"talk_tech_1"Symbol 543 MovieClip {Blocks_fla.tech_intro_anim_181} Frame 41Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"talk_tech_2"Symbol 543 MovieClip {Blocks_fla.tech_intro_anim_181} Frame 106Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonClose"Symbol 545 MovieClip {Blocks_fla.help_box5_185} Frame 1Symbol 118 MovieClip {invButton}
"help_box_5"Symbol 545 MovieClip {Blocks_fla.help_box5_185} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"invButtonOpen"Symbol 545 MovieClip {Blocks_fla.help_box5_185} Frame 2Symbol 118 MovieClip {invButton}
"eyes"Symbol 582 MovieClip {Blocks_fla.Devil_anim_199} Frame 16Symbol 142 MovieClip {Eyes}
"eyes"Symbol 582 MovieClip {Blocks_fla.Devil_anim_199} Frame 75Symbol 142 MovieClip {Eyes}
"talk_devil_1"Symbol 582 MovieClip {Blocks_fla.Devil_anim_199} Frame 115Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"talk_devil_2"Symbol 582 MovieClip {Blocks_fla.Devil_anim_199} Frame 207Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"general_congrats"Symbol 618 MovieClip {Blocks_fla.completion_anim_208} Frame 1Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_poor"Symbol 634 MovieClip {Blocks_fla.won_clip_0_211} Frame 37Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_poor"Symbol 638 MovieClip {Blocks_fla.won_clip_1_219} Frame 59Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_poor"Symbol 642 MovieClip {Blocks_fla.won_clip_2_221} Frame 78Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_ok"Symbol 648 MovieClip {Blocks_fla.won_clip_3_223} Frame 83Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_ok"Symbol 652 MovieClip {Blocks_fla.won_clip_4_226} Frame 82Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_good"Symbol 660 MovieClip {Blocks_fla.won_clip_5_228} Frame 94Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_good"Symbol 664 MovieClip {Blocks_fla.won_clip_6_232} Frame 106Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_great"Symbol 674 MovieClip {Blocks_fla.won_clip_7_234} Frame 114Symbol 42 MovieClip {spill.localisation.LocalizedTextField}
"end_perfect"Symbol 686 MovieClip {Blocks_fla.won_clip_8_239} Frame 104Symbol 42 MovieClip {spill.localisation.LocalizedTextField}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 11274 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmln ..."

Labels

"Preloader"Frame 1
"GameMenu"Frame 2
"GameCredits"Frame 4
"GameStart"Frame 5
"intro"Frame 6
"girl"Frame 15
"tech"Frame 24
"devil"Frame 33
"br"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 1
"nl"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 2
"cn"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 3
"de"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 4
"es"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 5
"fr"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 6
"in"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 7
"it"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 8
"jp"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 9
"my"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 10
"ph"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 11
"pl"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 12
"pt"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 13
"ru"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 14
"se"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 15
"tr"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 16
"en_uk"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 17
"en_us"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 18
"id"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 19
"ar"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 20
"es_mx"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 21
"es_ar"Symbol 91 MovieClip {Blocks_fla.flag_icon_262} Frame 22
"Reset"Symbol 129 MovieClip {Pause_Menu} Frame 1
"start-1"Symbol 223 MovieClip {menu_text_clip} Frame 2
"moregames-1"Symbol 223 MovieClip {menu_text_clip} Frame 6
"credits-1"Symbol 223 MovieClip {menu_text_clip} Frame 11
"walkthrough-1"Symbol 223 MovieClip {menu_text_clip} Frame 16
"continue-1"Symbol 223 MovieClip {menu_text_clip} Frame 21
"start-2"Symbol 223 MovieClip {menu_text_clip} Frame 26
"continue-2"Symbol 223 MovieClip {menu_text_clip} Frame 31
"walkthrough-2"Symbol 223 MovieClip {menu_text_clip} Frame 36
"credits-2"Symbol 223 MovieClip {menu_text_clip} Frame 41
"moregames-2"Symbol 223 MovieClip {menu_text_clip} Frame 46
"start_out"Symbol 223 MovieClip {menu_text_clip} Frame 51
"continue_out"Symbol 223 MovieClip {menu_text_clip} Frame 61
"credits_out"Symbol 223 MovieClip {menu_text_clip} Frame 71
"www.agame.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 1
"www.game.com.cn"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 2
"www.zapjuegos.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 3
"www.spel.nl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 4
"www.jeu.fr"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 5
"www.spielen.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 6
"www.clickjogos.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 7
"www.giocaregratis.it"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 8
"www.spel.se"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 9
"www.mygames.co.uk"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 10
"www.flashgames.ru"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 11
"www.game.co.in"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 12
"www.games.co.id"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 13
"www.minigry.pl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 14
"www.asoyun.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 15
"www.game.com.my"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 16
"www.gamesgames.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 17
"www.spelletjes.nl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 18
"www.jeux.fr"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 19
"www.jetztspielen.de"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 20
"www.gry.pl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 21
"www.spela.se"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 22
"www.gioco.it"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 23
"www.juegos.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 24
"www.juegos.mx"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 25
"www.juegos.com.ar"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 26
"www.ojogos.com.br"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 27
"www.ourgames.ru"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 28
"www.games.co.uk"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 29
"www.oyunlar123.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 30
"www.girlsgogames.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 31
"www.girlsgogames.in"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 32
"www.girlsgogamestr.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 33
"www.girlsgogames.com.br"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 34
"www.girlsgogames.fr"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 35
"www.girlsgogames.co.uk"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 36
"www.girlsgogames.de"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 37
"www.girlsgogames.pl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 38
"www.girlsgogames.ru"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 39
"www.juegosdechicas.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 40
"www.juegosdechicas.com.ar"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 41
"www.juegosdechicas.mx"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 42
"www.girlsgogames.it"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 43
"www.girlsgogames.es"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 44
"www.girlsgogames.nl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 45
"www.girlsgogames.se"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 46
"www.ojogos.pt"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 47
"www.laro.com.ph"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 48
"www.egames.jp"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 49
"www.a10.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 50
"www.dailygame.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 51
"www.zapapa.com"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 52
"www.zapapa.nl"Symbol 361 MovieClip {spill.localisation.BrandingLogo} Frame 53
"Girl"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 101
"Simple"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 103
"Tech"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 105
"Devil"Symbol 376 MovieClip {Blocks_fla.mystery_block_4} Frame 107




http://swfchan.com/26/125047/info.shtml
Created: 28/2 -2019 15:52:41 Last modified: 28/2 -2019 15:52:41 Server time: 26/04 -2024 08:08:08