moving files

master
mitchellhansen 6 years ago
parent e001f252eb
commit c139121acb

@ -1,4 +0,0 @@
player 200 200
enemy 100 100
enemy 150 100
enemy 200 100

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

Before

Width:  |  Height:  |  Size: 745 B

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

@ -1,366 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<TextureAtlas imagePath="sprites.png">
<!--
Created with ShoeBox
http://renderhjs.net/shoebox/
-->
<SubTexture name="blockBrown.png" x="455" y="849" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockBrown_broken.png" x="455" y="914" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGreen.png" x="520" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGreen_key.png" x="520" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGreen_lock.png" x="520" y="179" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGreen_puzzle.png" x="520" y="244" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGrey.png" x="520" y="309" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockGrey_broken.png" x="520" y="374" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockRed.png" x="520" y="504" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockRed_key.png" x="520" y="634" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockRed_lock.png" x="520" y="795" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blockRed_puzzle.png" x="520" y="860" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="blueCrystal.png" x="929" y="317" width="32" height="30" frameX="-0" frameY="-0" frameWidth="32" frameHeight="30"/>
<SubTexture name="blueGem.png" x="964" y="797" width="22" height="22" frameX="-0" frameY="-0" frameWidth="22" frameHeight="22"/>
<SubTexture name="blueJewel.png" x="964" y="705" width="24" height="22" frameX="-0" frameY="-0" frameWidth="24" frameHeight="22"/>
<SubTexture name="buttonFloor.png" x="65" y="1001" width="54" height="12" frameX="-0" frameY="-0" frameWidth="54" frameHeight="12"/>
<SubTexture name="buttonFloor_pressed.png" x="65" y="1014" width="54" height="8" frameX="-0" frameY="-0" frameWidth="54" frameHeight="8"/>
<SubTexture name="buttonGreen.png" x="707" y="781" width="50" height="29" frameX="-0" frameY="-0" frameWidth="50" frameHeight="29"/>
<SubTexture name="buttonGreen_pressed.png" x="696" y="1005" width="50" height="17" frameX="-0" frameY="-0" frameWidth="50" frameHeight="17"/>
<SubTexture name="buttonRed.png" x="707" y="751" width="50" height="29" frameX="-0" frameY="-0" frameWidth="50" frameHeight="29"/>
<SubTexture name="buttonRed_pressed.png" x="645" y="1005" width="50" height="17" frameX="-0" frameY="-0" frameWidth="50" frameHeight="17"/>
<SubTexture name="discGreen.png" x="928" y="216" width="34" height="35" frameX="-0" frameY="-0" frameWidth="34" frameHeight="35"/>
<SubTexture name="discRed.png" x="927" y="102" width="34" height="35" frameX="-0" frameY="-0" frameWidth="34" frameHeight="35"/>
<SubTexture name="doorGreen.png" x="585" y="446" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorGreen_lock.png" x="650" y="92" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorGreen_top.png" x="520" y="699" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorOpen.png" x="585" y="714" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorOpen_top.png" x="585" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorRed.png" x="585" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorRed_lock.png" x="325" y="427" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="doorRed_top.png" x="520" y="925" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="enemyFloating_1.png" x="807" y="306" width="42" height="40" frameX="-0" frameY="-0" frameWidth="42" frameHeight="40"/>
<SubTexture name="enemyFloating_2.png" x="650" y="839" width="55" height="55" frameX="-0" frameY="-0" frameWidth="55" frameHeight="55"/>
<SubTexture name="enemyFloating_3.png" x="809" y="51" width="40" height="40" frameX="-0" frameY="-0" frameWidth="40" frameHeight="40"/>
<SubTexture name="enemyFloating_4.png" x="805" y="924" width="42" height="40" frameX="-0" frameY="-0" frameWidth="42" frameHeight="40"/>
<SubTexture name="enemyFlyingAlt_1.png" x="706" y="839" width="52" height="36" frameX="-0" frameY="-0" frameWidth="52" frameHeight="36"/>
<SubTexture name="enemyFlyingAlt_2.png" x="520" y="996" width="63" height="24" frameX="-0" frameY="-0" frameWidth="63" frameHeight="24"/>
<SubTexture name="enemyFlyingAlt_3.png" x="705" y="895" width="52" height="29" frameX="-0" frameY="-0" frameWidth="52" frameHeight="29"/>
<SubTexture name="enemyFlyingAlt_4.png" x="650" y="354" width="60" height="29" frameX="-0" frameY="-0" frameWidth="60" frameHeight="29"/>
<SubTexture name="enemyFlying_1.png" x="455" y="390" width="64" height="38" frameX="-0" frameY="-0" frameWidth="64" frameHeight="38"/>
<SubTexture name="enemyFlying_2.png" x="455" y="429" width="64" height="38" frameX="-0" frameY="-0" frameWidth="64" frameHeight="38"/>
<SubTexture name="enemyFlying_3.png" x="455" y="533" width="64" height="43" frameX="-0" frameY="-0" frameWidth="64" frameHeight="43"/>
<SubTexture name="enemyFlying_4.png" x="584" y="996" width="60" height="25" frameX="-0" frameY="-0" frameWidth="60" frameHeight="25"/>
<SubTexture name="enemySpikey_1.png" x="929" y="0" width="32" height="40" frameX="-0" frameY="-0" frameWidth="32" frameHeight="40"/>
<SubTexture name="enemySpikey_2.png" x="928" y="994" width="32" height="28" frameX="-0" frameY="-0" frameWidth="32" frameHeight="28"/>
<SubTexture name="enemySpikey_3.png" x="929" y="252" width="32" height="64" frameX="-0" frameY="-0" frameWidth="32" frameHeight="64"/>
<SubTexture name="enemySpikey_4.png" x="928" y="522" width="32" height="40" frameX="-0" frameY="-0" frameWidth="32" frameHeight="40"/>
<SubTexture name="enemySwimming_1.png" x="805" y="790" width="44" height="32" frameX="-0" frameY="-0" frameWidth="44" frameHeight="32"/>
<SubTexture name="enemySwimming_2.png" x="763" y="153" width="44" height="32" frameX="-0" frameY="-0" frameWidth="44" frameHeight="32"/>
<SubTexture name="enemySwimming_3.png" x="758" y="656" width="46" height="32" frameX="-0" frameY="-0" frameWidth="46" frameHeight="32"/>
<SubTexture name="enemySwimming_4.png" x="762" y="306" width="44" height="32" frameX="-0" frameY="-0" frameWidth="44" frameHeight="32"/>
<SubTexture name="enemyWalking_1.png" x="928" y="949" width="32" height="44" frameX="-0" frameY="-0" frameWidth="32" frameHeight="44"/>
<SubTexture name="enemyWalking_2.png" x="928" y="417" width="32" height="42" frameX="-0" frameY="-0" frameWidth="32" frameHeight="42"/>
<SubTexture name="enemyWalking_3.png" x="710" y="464" width="49" height="38" frameX="-0" frameY="-0" frameWidth="49" frameHeight="38"/>
<SubTexture name="enemyWalking_4.png" x="928" y="837" width="35" height="41" frameX="-0" frameY="-0" frameWidth="35" frameHeight="41"/>
<SubTexture name="fence.png" x="585" y="622" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="fenceBroken.png" x="585" y="668" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="fenceLeft.png" x="585" y="511" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="fenceMid.png" x="650" y="46" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="fenceOpen.png" x="650" y="0" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="fenceRight.png" x="585" y="950" width="64" height="45" frameX="-0" frameY="-0" frameWidth="64" frameHeight="45"/>
<SubTexture name="flagGreen_down.png" x="987" y="813" width="15" height="61" frameX="-0" frameY="-0" frameWidth="15" frameHeight="61"/>
<SubTexture name="flagGreen_up.png" x="650" y="446" width="59" height="61" frameX="-0" frameY="-0" frameWidth="59" frameHeight="61"/>
<SubTexture name="flagRed_down.png" x="987" y="751" width="15" height="61" frameX="-0" frameY="-0" frameWidth="15" frameHeight="61"/>
<SubTexture name="flagRed_up.png" x="650" y="384" width="59" height="61" frameX="-0" frameY="-0" frameWidth="59" frameHeight="61"/>
<SubTexture name="fluidBlue.png" x="585" y="885" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidBlue_top.png" x="585" y="820" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidBrown.png" x="585" y="557" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidBrown_top.png" x="585" y="381" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidGreen.png" x="585" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidGreen_top.png" x="585" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidRed.png" x="585" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="fluidRed_top.png" x="520" y="569" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="greenCrystal.png" x="928" y="460" width="32" height="30" frameX="-0" frameY="-0" frameWidth="32" frameHeight="30"/>
<SubTexture name="greenGem.png" x="964" y="774" width="22" height="22" frameX="-0" frameY="-0" frameWidth="22" frameHeight="22"/>
<SubTexture name="greenJewel.png" x="807" y="347" width="24" height="22" frameX="-0" frameY="-0" frameWidth="24" frameHeight="22"/>
<SubTexture name="keyGreen.png" x="961" y="495" width="29" height="30" frameX="-0" frameY="-0" frameWidth="29" frameHeight="30"/>
<SubTexture name="keyRed.png" x="962" y="252" width="29" height="30" frameX="-0" frameY="-0" frameWidth="29" frameHeight="30"/>
<SubTexture name="ladderNarrow_mid.png" x="650" y="508" width="56" height="64" frameX="-0" frameY="-0" frameWidth="56" frameHeight="64"/>
<SubTexture name="ladderNarrow_top.png" x="650" y="724" width="56" height="48" frameX="-0" frameY="-0" frameWidth="56" frameHeight="48"/>
<SubTexture name="ladderWide_mid.png" x="520" y="439" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="ladderWide_top.png" x="520" y="130" width="64" height="48" frameX="-0" frameY="-0" frameWidth="64" frameHeight="48"/>
<SubTexture name="lockGreen.png" x="455" y="784" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenBottom.png" x="455" y="577" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenLeft.png" x="455" y="468" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenLock.png" x="455" y="325" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenMid.png" x="455" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenRight.png" x="455" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockGreenTop.png" x="455" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRed.png" x="455" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedBottom.png" x="390" y="947" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedLeft.png" x="390" y="817" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedLock.png" x="390" y="752" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedMid.png" x="585" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedRight.png" x="390" y="687" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="lockRedTop.png" x="455" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="outlineCrystal.png" x="889" y="926" width="38" height="36" frameX="-0" frameY="-0" frameWidth="38" frameHeight="36"/>
<SubTexture name="outlineDisc.png" x="848" y="963" width="40" height="41" frameX="-0" frameY="-0" frameWidth="40" frameHeight="41"/>
<SubTexture name="outlineDisc_alt.png" x="848" y="921" width="40" height="41" frameX="-0" frameY="-0" frameWidth="40" frameHeight="41"/>
<SubTexture name="outlineGem.png" x="962" y="283" width="28" height="28" frameX="-0" frameY="-0" frameWidth="28" frameHeight="28"/>
<SubTexture name="outlineJewel.png" x="929" y="379" width="30" height="28" frameX="-0" frameY="-0" frameWidth="30" frameHeight="28"/>
<SubTexture name="outlineKey.png" x="927" y="624" width="36" height="36" frameX="-0" frameY="-0" frameWidth="36" frameHeight="36"/>
<SubTexture name="outlinePuzzle.png" x="849" y="347" width="40" height="40" frameX="-0" frameY="-0" frameWidth="40" frameHeight="40"/>
<SubTexture name="plantBlue_1.png" x="963" y="145" width="26" height="48" frameX="-0" frameY="-0" frameWidth="26" frameHeight="48"/>
<SubTexture name="plantBlue_2.png" x="805" y="755" width="44" height="34" frameX="-0" frameY="-0" frameWidth="44" frameHeight="34"/>
<SubTexture name="plantBlue_3.png" x="707" y="811" width="42" height="24" frameX="-0" frameY="-0" frameWidth="42" frameHeight="24"/>
<SubTexture name="plantBlue_4.png" x="961" y="949" width="29" height="55" frameX="-0" frameY="-0" frameWidth="29" frameHeight="55"/>
<SubTexture name="plantBlue_5.png" x="705" y="925" width="44" height="22" frameX="-0" frameY="-0" frameWidth="44" frameHeight="22"/>
<SubTexture name="plantBlue_6.png" x="928" y="138" width="34" height="39" frameX="-0" frameY="-0" frameWidth="34" frameHeight="39"/>
<SubTexture name="plantBottom_1.png" x="962" y="0" width="28" height="64" frameX="-0" frameY="-0" frameWidth="28" frameHeight="64"/>
<SubTexture name="plantBottom_2.png" x="890" y="662" width="36" height="64" frameX="-0" frameY="-0" frameWidth="36" frameHeight="64"/>
<SubTexture name="plantDark_1.png" x="850" y="207" width="38" height="37" frameX="-0" frameY="-0" frameWidth="38" frameHeight="37"/>
<SubTexture name="plantDark_2.png" x="850" y="567" width="36" height="31" frameX="-0" frameY="-0" frameWidth="36" frameHeight="31"/>
<SubTexture name="plantDark_3.png" x="963" y="194" width="26" height="50" frameX="-0" frameY="-0" frameWidth="26" frameHeight="50"/>
<SubTexture name="plantDark_4.png" x="929" y="41" width="32" height="49" frameX="-0" frameY="-0" frameWidth="32" frameHeight="49"/>
<SubTexture name="plantDark_5.png" x="962" y="312" width="28" height="32" frameX="-0" frameY="-0" frameWidth="28" frameHeight="32"/>
<SubTexture name="plantDark_6.png" x="962" y="65" width="27" height="38" frameX="-0" frameY="-0" frameWidth="27" frameHeight="38"/>
<SubTexture name="plantGreen_1.png" x="763" y="108" width="44" height="44" frameX="-0" frameY="-0" frameWidth="44" frameHeight="44"/>
<SubTexture name="plantGreen_2.png" x="762" y="339" width="44" height="32" frameX="-0" frameY="-0" frameWidth="44" frameHeight="32"/>
<SubTexture name="plantGreen_3.png" x="890" y="727" width="36" height="31" frameX="-0" frameY="-0" frameWidth="36" frameHeight="31"/>
<SubTexture name="plantGreen_4.png" x="961" y="526" width="29" height="50" frameX="-0" frameY="-0" frameWidth="29" frameHeight="50"/>
<SubTexture name="plantGreen_5.png" x="808" y="147" width="41" height="47" frameX="-0" frameY="-0" frameWidth="41" frameHeight="47"/>
<SubTexture name="plantGreen_6.png" x="806" y="599" width="42" height="36" frameX="-0" frameY="-0" frameWidth="42" frameHeight="36"/>
<SubTexture name="plantLeaves_1.png" x="889" y="207" width="38" height="64" frameX="-0" frameY="-0" frameWidth="38" frameHeight="64"/>
<SubTexture name="plantLeaves_3.png" x="850" y="142" width="38" height="64" frameX="-0" frameY="-0" frameWidth="38" frameHeight="64"/>
<SubTexture name="plantRed_1.png" x="929" y="348" width="31" height="30" frameX="-0" frameY="-0" frameWidth="31" frameHeight="30"/>
<SubTexture name="plantRed_2.png" x="961" y="466" width="30" height="28" frameX="-0" frameY="-0" frameWidth="30" frameHeight="28"/>
<SubTexture name="plantRed_3.png" x="806" y="372" width="42" height="23" frameX="-0" frameY="-0" frameWidth="42" frameHeight="23"/>
<SubTexture name="plantRed_4.png" x="928" y="178" width="34" height="37" frameX="-0" frameY="-0" frameWidth="34" frameHeight="37"/>
<SubTexture name="plantRed_5.png" x="890" y="461" width="37" height="32" frameX="-0" frameY="-0" frameWidth="37" frameHeight="32"/>
<SubTexture name="plantRed_6.png" x="809" y="0" width="40" height="50" frameX="-0" frameY="-0" frameWidth="40" frameHeight="50"/>
<SubTexture name="plantStem_Tleft.png" x="889" y="142" width="38" height="64" frameX="-0" frameY="-0" frameWidth="38" frameHeight="64"/>
<SubTexture name="plantStem_Tright.png" x="927" y="661" width="36" height="64" frameX="-0" frameY="-0" frameWidth="36" frameHeight="64"/>
<SubTexture name="plantStem_cornerLeft.png" x="890" y="578" width="36" height="37" frameX="-0" frameY="-0" frameWidth="36" frameHeight="37"/>
<SubTexture name="plantStem_cornerRight.png" x="806" y="452" width="38" height="37" frameX="-0" frameY="-0" frameWidth="38" frameHeight="37"/>
<SubTexture name="plantStem_cross.png" x="455" y="719" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="plantStem_horizontal.png" x="65" y="990" width="64" height="10" frameX="-0" frameY="-0" frameWidth="64" frameHeight="10"/>
<SubTexture name="plantStem_vertical.png" x="65" y="990" width="64" height="10" frameX="-0" frameY="-0" frameWidth="10" frameHeight="64"/>
<SubTexture name="plantThorns_horizontal.png" x="455" y="979" width="64" height="36" frameX="-0" frameY="-0" frameWidth="64" frameHeight="36"/>
<SubTexture name="plantThorns_vertical.png" x="927" y="726" width="36" height="64" frameX="-0" frameY="-0" frameWidth="36" frameHeight="64"/>
<SubTexture name="plantTop_blue.png" x="650" y="157" width="62" height="54" frameX="-0" frameY="-0" frameWidth="62" frameHeight="54"/>
<SubTexture name="plantTop_leaves.png" x="650" y="267" width="62" height="31" frameX="-0" frameY="-0" frameWidth="62" frameHeight="31"/>
<SubTexture name="plantTop_red.png" x="650" y="299" width="62" height="54" frameX="-0" frameY="-0" frameWidth="62" frameHeight="54"/>
<SubTexture name="plantTop_yellow.png" x="650" y="212" width="62" height="54" frameX="-0" frameY="-0" frameWidth="62" frameHeight="54"/>
<SubTexture name="playerBlue_dead.png" x="762" y="258" width="45" height="47" frameX="-0" frameY="-0" frameWidth="45" frameHeight="47"/>
<SubTexture name="playerBlue_duck.png" x="650" y="605" width="56" height="40" frameX="-0" frameY="-0" frameWidth="56" frameHeight="40"/>
<SubTexture name="playerBlue_fall.png" x="805" y="490" width="44" height="54" frameX="-0" frameY="-0" frameWidth="44" frameHeight="54"/>
<SubTexture name="playerBlue_hit.png" x="758" y="730" width="46" height="40" frameX="-0" frameY="-0" frameWidth="46" frameHeight="40"/>
<SubTexture name="playerBlue_roll.png" x="849" y="388" width="40" height="40" frameX="-0" frameY="-0" frameWidth="40" frameHeight="40"/>
<SubTexture name="playerBlue_stand.png" x="762" y="203" width="45" height="54" frameX="-0" frameY="-0" frameWidth="45" frameHeight="54"/>
<SubTexture name="playerBlue_swim1.png" x="805" y="545" width="44" height="53" frameX="-0" frameY="-0" frameWidth="44" frameHeight="53"/>
<SubTexture name="playerBlue_swim2.png" x="764" y="0" width="44" height="54" frameX="-0" frameY="-0" frameWidth="44" frameHeight="54"/>
<SubTexture name="playerBlue_switch1.png" x="650" y="895" width="54" height="54" frameX="-0" frameY="-0" frameWidth="54" frameHeight="54"/>
<SubTexture name="playerBlue_switch2.png" x="650" y="950" width="53" height="54" frameX="-0" frameY="-0" frameWidth="53" frameHeight="54"/>
<SubTexture name="playerBlue_up1.png" x="760" y="435" width="45" height="54" frameX="-0" frameY="-0" frameWidth="45" frameHeight="54"/>
<SubTexture name="playerBlue_up2.png" x="759" y="556" width="45" height="50" frameX="-0" frameY="-0" frameWidth="45" frameHeight="50"/>
<SubTexture name="playerBlue_up3.png" x="758" y="771" width="46" height="40" frameX="-0" frameY="-0" frameWidth="46" frameHeight="40"/>
<SubTexture name="playerBlue_walk1.png" x="759" y="812" width="45" height="54" frameX="-0" frameY="-0" frameWidth="45" frameHeight="54"/>
<SubTexture name="playerBlue_walk2.png" x="760" y="380" width="45" height="54" frameX="-0" frameY="-0" frameWidth="45" frameHeight="54"/>
<SubTexture name="playerBlue_walk3.png" x="759" y="503" width="45" height="52" frameX="-0" frameY="-0" frameWidth="45" frameHeight="52"/>
<SubTexture name="playerBlue_walk4.png" x="713" y="157" width="49" height="45" frameX="-0" frameY="-0" frameWidth="49" frameHeight="45"/>
<SubTexture name="playerBlue_walk5.png" x="585" y="779" width="64" height="40" frameX="-0" frameY="-0" frameWidth="64" frameHeight="40"/>
<SubTexture name="playerGreen_dead.png" x="890" y="272" width="38" height="43" frameX="-0" frameY="-0" frameWidth="38" frameHeight="43"/>
<SubTexture name="playerGreen_duck.png" x="650" y="573" width="56" height="31" frameX="-0" frameY="-0" frameWidth="56" frameHeight="31"/>
<SubTexture name="playerGreen_fall.png" x="890" y="316" width="38" height="49" frameX="-0" frameY="-0" frameWidth="38" frameHeight="49"/>
<SubTexture name="playerGreen_hit.png" x="758" y="689" width="46" height="40" frameX="-0" frameY="-0" frameWidth="46" frameHeight="40"/>
<SubTexture name="playerGreen_roll.png" x="849" y="599" width="40" height="40" frameX="-0" frameY="-0" frameWidth="40" frameHeight="40"/>
<SubTexture name="playerGreen_stand.png" x="890" y="0" width="38" height="50" frameX="-0" frameY="-0" frameWidth="38" frameHeight="50"/>
<SubTexture name="playerGreen_swim1.png" x="849" y="823" width="40" height="53" frameX="-0" frameY="-0" frameWidth="40" frameHeight="53"/>
<SubTexture name="playerGreen_swim2.png" x="808" y="92" width="41" height="54" frameX="-0" frameY="-0" frameWidth="41" frameHeight="54"/>
<SubTexture name="playerGreen_switch1.png" x="707" y="508" width="51" height="50" frameX="-0" frameY="-0" frameWidth="51" frameHeight="50"/>
<SubTexture name="playerGreen_switch2.png" x="707" y="654" width="50" height="50" frameX="-0" frameY="-0" frameWidth="50" frameHeight="50"/>
<SubTexture name="playerGreen_up1.png" x="890" y="51" width="38" height="50" frameX="-0" frameY="-0" frameWidth="38" frameHeight="50"/>
<SubTexture name="playerGreen_up2.png" x="849" y="877" width="38" height="43" frameX="-0" frameY="-0" frameWidth="38" frameHeight="43"/>
<SubTexture name="playerGreen_up3.png" x="849" y="429" width="40" height="39" frameX="-0" frameY="-0" frameWidth="40" frameHeight="39"/>
<SubTexture name="playerGreen_walk1.png" x="890" y="366" width="38" height="50" frameX="-0" frameY="-0" frameWidth="38" frameHeight="50"/>
<SubTexture name="playerGreen_walk2.png" x="889" y="963" width="38" height="48" frameX="-0" frameY="-0" frameWidth="38" frameHeight="48"/>
<SubTexture name="playerGreen_walk3.png" x="889" y="877" width="38" height="48" frameX="-0" frameY="-0" frameWidth="38" frameHeight="48"/>
<SubTexture name="playerGreen_walk4.png" x="713" y="259" width="48" height="43" frameX="-0" frameY="-0" frameWidth="48" frameHeight="43"/>
<SubTexture name="playerGreen_walk5.png" x="455" y="642" width="64" height="39" frameX="-0" frameY="-0" frameWidth="64" frameHeight="39"/>
<SubTexture name="playerGrey_dead.png" x="890" y="759" width="36" height="39" frameX="-0" frameY="-0" frameWidth="36" frameHeight="39"/>
<SubTexture name="playerGrey_duck.png" x="650" y="808" width="56" height="30" frameX="-0" frameY="-0" frameWidth="56" frameHeight="30"/>
<SubTexture name="playerGrey_fall.png" x="890" y="616" width="36" height="45" frameX="-0" frameY="-0" frameWidth="36" frameHeight="45"/>
<SubTexture name="playerGrey_hit.png" x="710" y="427" width="49" height="36" frameX="-0" frameY="-0" frameWidth="49" frameHeight="36"/>
<SubTexture name="playerGrey_roll.png" x="890" y="102" width="36" height="36" frameX="-0" frameY="-0" frameWidth="36" frameHeight="36"/>
<SubTexture name="playerGrey_stand.png" x="890" y="799" width="36" height="45" frameX="-0" frameY="-0" frameWidth="36" frameHeight="45"/>
<SubTexture name="playerGrey_swim1.png" x="805" y="823" width="43" height="41" frameX="-0" frameY="-0" frameWidth="43" frameHeight="41"/>
<SubTexture name="playerGrey_swim2.png" x="805" y="656" width="44" height="42" frameX="-0" frameY="-0" frameWidth="44" frameHeight="42"/>
<SubTexture name="playerGrey_switch1.png" x="707" y="705" width="50" height="45" frameX="-0" frameY="-0" frameWidth="50" frameHeight="45"/>
<SubTexture name="playerGrey_switch2.png" x="707" y="608" width="50" height="45" frameX="-0" frameY="-0" frameWidth="50" frameHeight="45"/>
<SubTexture name="playerGrey_up1.png" x="927" y="578" width="36" height="45" frameX="-0" frameY="-0" frameWidth="36" frameHeight="45"/>
<SubTexture name="playerGrey_up2.png" x="890" y="537" width="37" height="40" frameX="-0" frameY="-0" frameWidth="37" frameHeight="40"/>
<SubTexture name="playerGrey_up3.png" x="764" y="55" width="44" height="36" frameX="-0" frameY="-0" frameWidth="44" frameHeight="36"/>
<SubTexture name="playerGrey_walk1.png" x="927" y="791" width="36" height="45" frameX="-0" frameY="-0" frameWidth="36" frameHeight="45"/>
<SubTexture name="playerGrey_walk2.png" x="890" y="417" width="37" height="43" frameX="-0" frameY="-0" frameWidth="37" frameHeight="43"/>
<SubTexture name="playerGrey_walk3.png" x="890" y="494" width="37" height="42" frameX="-0" frameY="-0" frameWidth="37" frameHeight="42"/>
<SubTexture name="playerGrey_walk4.png" x="713" y="343" width="48" height="36" frameX="-0" frameY="-0" frameWidth="48" frameHeight="36"/>
<SubTexture name="playerGrey_walk5.png" x="455" y="682" width="64" height="36" frameX="-0" frameY="-0" frameWidth="64" frameHeight="36"/>
<SubTexture name="playerRed_dead.png" x="850" y="297" width="39" height="46" frameX="-0" frameY="-0" frameWidth="39" frameHeight="46"/>
<SubTexture name="playerRed_duck.png" x="650" y="773" width="56" height="34" frameX="-0" frameY="-0" frameWidth="56" frameHeight="34"/>
<SubTexture name="playerRed_fall.png" x="850" y="699" width="39" height="50" frameX="-0" frameY="-0" frameWidth="39" frameHeight="50"/>
<SubTexture name="playerRed_hit.png" x="650" y="646" width="56" height="38" frameX="-0" frameY="-0" frameWidth="56" frameHeight="38"/>
<SubTexture name="playerRed_roll.png" x="808" y="251" width="40" height="40" frameX="-0" frameY="-0" frameWidth="40" frameHeight="40"/>
<SubTexture name="playerRed_stand.png" x="850" y="518" width="39" height="48" frameX="-0" frameY="-0" frameWidth="39" frameHeight="48"/>
<SubTexture name="playerRed_swim1.png" x="757" y="925" width="47" height="50" frameX="-0" frameY="-0" frameWidth="47" frameHeight="50"/>
<SubTexture name="playerRed_swim2.png" x="715" y="56" width="48" height="51" frameX="-0" frameY="-0" frameWidth="48" frameHeight="51"/>
<SubTexture name="playerRed_switch1.png" x="704" y="950" width="52" height="48" frameX="-0" frameY="-0" frameWidth="52" frameHeight="48"/>
<SubTexture name="playerRed_switch2.png" x="707" y="559" width="51" height="48" frameX="-0" frameY="-0" frameWidth="51" frameHeight="48"/>
<SubTexture name="playerRed_up1.png" x="850" y="469" width="39" height="48" frameX="-0" frameY="-0" frameWidth="39" frameHeight="48"/>
<SubTexture name="playerRed_up2.png" x="850" y="0" width="39" height="46" frameX="-0" frameY="-0" frameWidth="39" frameHeight="46"/>
<SubTexture name="playerRed_up3.png" x="650" y="685" width="56" height="38" frameX="-0" frameY="-0" frameWidth="56" frameHeight="38"/>
<SubTexture name="playerRed_walk1.png" x="850" y="47" width="39" height="48" frameX="-0" frameY="-0" frameWidth="39" frameHeight="48"/>
<SubTexture name="playerRed_walk2.png" x="850" y="96" width="39" height="45" frameX="-0" frameY="-0" frameWidth="39" frameHeight="45"/>
<SubTexture name="playerRed_walk3.png" x="849" y="251" width="39" height="45" frameX="-0" frameY="-0" frameWidth="39" frameHeight="45"/>
<SubTexture name="playerRed_walk4.png" x="710" y="384" width="49" height="42" frameX="-0" frameY="-0" frameWidth="49" frameHeight="42"/>
<SubTexture name="playerRed_walk5.png" x="130" y="975" width="64" height="38" frameX="-0" frameY="-0" frameWidth="64" frameHeight="38"/>
<SubTexture name="puzzleGreen.png" x="928" y="914" width="34" height="34" frameX="-0" frameY="-0" frameWidth="34" frameHeight="34"/>
<SubTexture name="puzzleRed.png" x="928" y="879" width="34" height="34" frameX="-0" frameY="-0" frameWidth="34" frameHeight="34"/>
<SubTexture name="redCrystal.png" x="890" y="845" width="32" height="30" frameX="-0" frameY="-0" frameWidth="32" frameHeight="30"/>
<SubTexture name="redGem.png" x="964" y="820" width="22" height="22" frameX="-0" frameY="-0" frameWidth="22" frameHeight="22"/>
<SubTexture name="redJewel.png" x="964" y="728" width="24" height="22" frameX="-0" frameY="-0" frameWidth="24" frameHeight="22"/>
<SubTexture name="signArrow.png" x="713" y="303" width="48" height="39" frameX="-0" frameY="-0" frameWidth="48" frameHeight="39"/>
<SubTexture name="signArrow_BL.png" x="806" y="396" width="42" height="55" frameX="-0" frameY="-0" frameWidth="42" frameHeight="55"/>
<SubTexture name="signArrow_BR.png" x="808" y="195" width="41" height="55" frameX="-0" frameY="-0" frameWidth="41" frameHeight="55"/>
<SubTexture name="signArrow_TL.png" x="806" y="865" width="42" height="55" frameX="-0" frameY="-0" frameWidth="42" frameHeight="55"/>
<SubTexture name="signArrow_TR.png" x="805" y="965" width="42" height="55" frameX="-0" frameY="-0" frameWidth="42" frameHeight="55"/>
<SubTexture name="signArrow_down.png" x="850" y="750" width="39" height="58" frameX="-0" frameY="-0" frameWidth="39" frameHeight="58"/>
<SubTexture name="signArrow_left.png" x="715" y="0" width="48" height="55" frameX="-0" frameY="-0" frameWidth="48" frameHeight="55"/>
<SubTexture name="signArrow_right.png" x="713" y="203" width="48" height="55" frameX="-0" frameY="-0" frameWidth="48" frameHeight="55"/>
<SubTexture name="signArrow_up.png" x="850" y="640" width="39" height="58" frameX="-0" frameY="-0" frameWidth="39" frameHeight="58"/>
<SubTexture name="signLarge.png" x="585" y="325" width="64" height="55" frameX="-0" frameY="-0" frameWidth="64" frameHeight="55"/>
<SubTexture name="signSmall.png" x="805" y="699" width="44" height="55" frameX="-0" frameY="-0" frameWidth="44" frameHeight="55"/>
<SubTexture name="signpost.png" x="990" y="875" width="12" height="55" frameX="-0" frameY="-0" frameWidth="12" frameHeight="55"/>
<SubTexture name="spikesHigh.png" x="520" y="764" width="64" height="30" frameX="-0" frameY="-0" frameWidth="64" frameHeight="30"/>
<SubTexture name="spikesLow.png" x="260" y="996" width="64" height="26" frameX="-0" frameY="-0" frameWidth="64" frameHeight="26"/>
<SubTexture name="switchGreen_left.png" x="757" y="976" width="47" height="47" frameX="-0" frameY="-0" frameWidth="47" frameHeight="47"/>
<SubTexture name="switchGreen_mid.png" x="961" y="407" width="30" height="58" frameX="-0" frameY="-0" frameWidth="30" frameHeight="58"/>
<SubTexture name="switchGreen_off.png" x="964" y="577" width="26" height="40" frameX="-0" frameY="-0" frameWidth="26" frameHeight="40"/>
<SubTexture name="switchGreen_on.png" x="963" y="104" width="26" height="40" frameX="-0" frameY="-0" frameWidth="26" frameHeight="40"/>
<SubTexture name="switchGreen_right.png" x="758" y="608" width="47" height="47" frameX="-0" frameY="-0" frameWidth="47" frameHeight="47"/>
<SubTexture name="switchRed_left.png" x="758" y="876" width="47" height="47" frameX="-0" frameY="-0" frameWidth="47" frameHeight="47"/>
<SubTexture name="switchRed_mid.png" x="961" y="348" width="30" height="58" frameX="-0" frameY="-0" frameWidth="30" frameHeight="58"/>
<SubTexture name="switchRed_off.png" x="963" y="879" width="26" height="40" frameX="-0" frameY="-0" frameWidth="26" frameHeight="40"/>
<SubTexture name="switchRed_on.png" x="964" y="618" width="26" height="40" frameX="-0" frameY="-0" frameWidth="26" frameHeight="40"/>
<SubTexture name="switchRed_right.png" x="715" y="108" width="47" height="47" frameX="-0" frameY="-0" frameWidth="47" frameHeight="47"/>
<SubTexture name="tileBlue_01.png" x="390" y="636" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileBlue_02.png" x="390" y="585" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileBlue_03.png" x="390" y="520" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_04.png" x="390" y="455" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_05.png" x="390" y="390" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_06.png" x="390" y="325" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_07.png" x="390" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_08.png" x="390" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_09.png" x="390" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_10.png" x="390" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_11.png" x="390" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_12.png" x="325" y="947" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_13.png" x="325" y="882" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_14.png" x="325" y="817" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_15.png" x="325" y="752" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_16.png" x="325" y="687" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_17.png" x="325" y="622" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_18.png" x="325" y="557" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_19.png" x="325" y="492" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_20.png" x="390" y="882" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_21.png" x="325" y="362" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_22.png" x="325" y="297" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_23.png" x="325" y="232" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_24.png" x="325" y="167" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_25.png" x="325" y="102" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBlue_26.png" x="325" y="51" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileBlue_27.png" x="325" y="0" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileBrown_01.png" x="260" y="931" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_02.png" x="260" y="866" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_03.png" x="260" y="801" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_04.png" x="260" y="736" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_05.png" x="260" y="682" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileBrown_06.png" x="260" y="628" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileBrown_07.png" x="260" y="574" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileBrown_08.png" x="260" y="520" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileBrown_09.png" x="260" y="455" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_10.png" x="260" y="390" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_11.png" x="260" y="325" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_12.png" x="260" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_13.png" x="260" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_14.png" x="260" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_15.png" x="260" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_16.png" x="260" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_17.png" x="195" y="947" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_18.png" x="195" y="882" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_19.png" x="195" y="817" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_20.png" x="195" y="752" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_21.png" x="195" y="687" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_22.png" x="195" y="622" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_23.png" x="195" y="557" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_24.png" x="195" y="492" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_25.png" x="195" y="427" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_26.png" x="195" y="362" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileBrown_27.png" x="585" y="557" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_01.png" x="195" y="311" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileGreen_02.png" x="195" y="260" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileGreen_03.png" x="195" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_04.png" x="195" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_05.png" x="195" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_06.png" x="195" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_07.png" x="130" y="910" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_08.png" x="130" y="845" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_09.png" x="130" y="780" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_10.png" x="130" y="715" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_11.png" x="130" y="650" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_12.png" x="130" y="585" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_13.png" x="130" y="520" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_14.png" x="130" y="455" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_15.png" x="130" y="390" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_16.png" x="130" y="325" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_17.png" x="130" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_18.png" x="130" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_19.png" x="130" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_20.png" x="130" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_21.png" x="130" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_22.png" x="65" y="925" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_23.png" x="65" y="860" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_24.png" x="65" y="795" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_25.png" x="65" y="730" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileGreen_26.png" x="65" y="679" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileGreen_27.png" x="65" y="628" width="64" height="50" frameX="-0" frameY="-0" frameWidth="64" frameHeight="50"/>
<SubTexture name="tileYellow_01.png" x="65" y="574" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileYellow_02.png" x="65" y="520" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileYellow_03.png" x="0" y="964" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="tileYellow_04.png" x="585" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_05.png" x="65" y="455" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_06.png" x="65" y="390" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_07.png" x="65" y="325" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_08.png" x="65" y="260" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_09.png" x="65" y="195" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_10.png" x="65" y="130" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_11.png" x="65" y="65" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_12.png" x="65" y="0" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_13.png" x="0" y="899" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_14.png" x="0" y="834" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_15.png" x="0" y="769" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_16.png" x="0" y="704" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_17.png" x="0" y="639" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_18.png" x="0" y="574" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_19.png" x="0" y="509" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_20.png" x="0" y="444" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_21.png" x="0" y="379" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_22.png" x="0" y="314" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_23.png" x="0" y="249" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_24.png" x="0" y="184" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_25.png" x="0" y="119" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_26.png" x="0" y="54" width="64" height="64" frameX="-0" frameY="-0" frameWidth="64" frameHeight="64"/>
<SubTexture name="tileYellow_27.png" x="0" y="0" width="64" height="53" frameX="-0" frameY="-0" frameWidth="64" frameHeight="53"/>
<SubTexture name="vine.png" x="990" y="65" width="10" height="64" frameX="-0" frameY="-0" frameWidth="10" frameHeight="64"/>
<SubTexture name="vine_bottom.png" x="989" y="705" width="10" height="38" frameX="-0" frameY="-0" frameWidth="10" frameHeight="38"/>
<SubTexture name="vine_bottomAlt.png" x="964" y="659" width="25" height="45" frameX="-0" frameY="-0" frameWidth="25" frameHeight="45"/>
<SubTexture name="yellowCrystal.png" x="928" y="491" width="32" height="30" frameX="-0" frameY="-0" frameWidth="32" frameHeight="30"/>
<SubTexture name="yellowGem.png" x="964" y="751" width="22" height="22" frameX="-0" frameY="-0" frameWidth="22" frameHeight="22"/>
<SubTexture name="yellowJewel.png" x="963" y="920" width="24" height="22" frameX="-0" frameY="-0" frameWidth="24" frameHeight="22"/>
</TextureAtlas>

@ -0,0 +1,160 @@
// Copyright (c) 2017 The vulkano developers
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT
// license <LICENSE-MIT or http://opensource.org/licenses/MIT>,
// at your option. All files in the project carrying such
// notice may not be copied, modified, or distributed except
// according to those terms.
// This example demonstrates how to use the compute capabilities of Vulkan.
//
// While graphics cards have traditionally been used for graphical operations, over time they have
// been more or more used for general-purpose operations as well. This is called "General-Purpose
// GPU", or *GPGPU*. This is what this example demonstrates.
use vulkano::buffer::{BufferUsage, CpuAccessibleBuffer};
use vulkano::command_buffer::AutoCommandBufferBuilder;
use vulkano::descriptor::descriptor_set::PersistentDescriptorSet;
use vulkano::device::{Device, DeviceExtensions};
use vulkano::instance::{Instance, InstanceExtensions, PhysicalDevice};
use vulkano::pipeline::ComputePipeline;
use vulkano::sync::GpuFuture;
use vulkano::sync;
use std::sync::Arc;
fn main() {
// As with other examples, the first step is to create an instance.
let instance = Instance::new(None, &InstanceExtensions::none(), None).unwrap();
// Choose which physical device to use.
let physical = PhysicalDevice::enumerate(&instance).next().unwrap();
// Choose the queue of the physical device which is going to run our compute operation.
//
// The Vulkan specs guarantee that a compliant implementation must provide at least one queue
// that supports compute operations.
let queue_family = physical.queue_families().find(|&q| q.supports_compute()).unwrap();
// Now initializing the device.
let (device, mut queues) = Device::new(physical,
physical.supported_features(),
&DeviceExtensions::none(),
[(queue_family, 0.5)].iter().cloned()).unwrap();
// Since we can request multiple queues, the `queues` variable is in fact an iterator. In this
// example we use only one queue, so we just retrieve the first and only element of the
// iterator and throw it away.
let queue = queues.next().unwrap();
println!("Device initialized");
// Now let's get to the actual example.
//
// What we are going to do is very basic: we are going to fill a buffer with 64k integers
// and ask the GPU to multiply each of them by 12.
//
// GPUs are very good at parallel computations (SIMD-like operations), and thus will do this
// much more quickly than a CPU would do. While a CPU would typically multiply them one by one
// or four by four, a GPU will do it by groups of 32 or 64.
//
// Note however that in a real-life situation for such a simple operation the cost of
// accessing memory usually outweighs the benefits of a faster calculation. Since both the CPU
// and the GPU will need to access data, there is no other choice but to transfer the data
// through the slow PCI express bus.
// We need to create the compute pipeline that describes our operation.
//
// If you are familiar with graphics pipeline, the principle is the same except that compute
// pipelines are much simpler to create.
let pipeline = Arc::new({
mod cs {
vulkano_shaders::shader!{
ty: "compute",
src: "
#version 450
layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0) buffer Data {
uint data[];
} data;
void main() {
uint idx = gl_GlobalInvocationID.x;
data.data[idx] *= 12;
}"
}
}
let shader = cs::Shader::load(device.clone()).unwrap();
ComputePipeline::new(device.clone(), &shader.main_entry_point(), &()).unwrap()
});
// We start by creating the buffer that will store the data.
let data_buffer = {
// Iterator that produces the data.
let data_iter = (0 .. 65536u32).map(|n| n);
// Builds the buffer and fills it with this iterator.
CpuAccessibleBuffer::from_iter(device.clone(), BufferUsage::all(), data_iter).unwrap()
};
// In order to let the shader access the buffer, we need to build a *descriptor set* that
// contains the buffer.
//
// The resources that we bind to the descriptor set must match the resources expected by the
// pipeline which we pass as the first parameter.
//
// If you want to run the pipeline on multiple different buffers, you need to create multiple
// descriptor sets that each contain the buffer you want to run the shader on.
let set = Arc::new(PersistentDescriptorSet::start(pipeline.clone(), 0)
.add_buffer(data_buffer.clone()).unwrap()
.build().unwrap()
);
// In order to execute our operation, we have to build a command buffer.
let command_buffer = AutoCommandBufferBuilder::primary_one_time_submit(device.clone(), queue.family()).unwrap()
// The command buffer only does one thing: execute the compute pipeline.
// This is called a *dispatch* operation.
//
// Note that we clone the pipeline and the set. Since they are both wrapped around an
// `Arc`, this only clones the `Arc` and not the whole pipeline or set (which aren't
// cloneable anyway). In this example we would avoid cloning them since this is the last
// time we use them, but in a real code you would probably need to clone them.
.dispatch([1024, 1, 1], pipeline.clone(), set.clone(), ()).unwrap()
// Finish building the command buffer by calling `build`.
.build().unwrap();
// Let's execute this command buffer now.
// To do so, we TODO: this is a bit clumsy, probably needs a shortcut
let future = sync::now(device.clone())
.then_execute(queue.clone(), command_buffer).unwrap()
// This line instructs the GPU to signal a *fence* once the command buffer has finished
// execution. A fence is a Vulkan object that allows the CPU to know when the GPU has
// reached a certain point.
// We need to signal a fence here because below we want to block the CPU until the GPU has
// reached that point in the execution.
.then_signal_fence_and_flush().unwrap();
// Blocks execution until the GPU has finished the operation. This method only exists on the
// future that corresponds to a signalled fence. In other words, this method wouldn't be
// available if we didn't call `.then_signal_fence_and_flush()` earlier.
// The `None` parameter is an optional timeout.
//
// Note however that dropping the `future` variable (with `drop(future)` for example) would
// block execution as well, and this would be the case even if we didn't call
// `.then_signal_fence_and_flush()`.
// Therefore the actual point of calling `.then_signal_fence_and_flush()` and `.wait()` is to
// make things more explicit. In the future, if the Rust language gets linear types vulkano may
// get modified so that only fence-signalled futures can get destroyed like this.
future.wait(None).unwrap();
// Now that the GPU is done, the content of the buffer should have been modified. Let's
// check it out.
// The call to `read()` would return an error if the buffer was still in use by the GPU.
let data_buffer_content = data_buffer.read().unwrap();
for n in 0 .. 65536u32 {
assert_eq!(data_buffer_content[n as usize], n * 12);
}
}

@ -2,34 +2,31 @@
#![allow(unused_variables)] #![allow(unused_variables)]
#![allow(unused_mut)] #![allow(unused_mut)]
extern crate quick_xml;
extern crate sfml;
extern crate cgmath; extern crate cgmath;
extern crate image; extern crate image;
extern crate nalgebra as na;
extern crate quick_xml;
extern crate rand; extern crate rand;
extern crate sfml;
use image::{DynamicImage, GenericImage, GenericImageView, Pixel, SubImage};
mod slider;
mod timer;
mod input;
mod util;
use sfml::graphics::*; use sfml::graphics::*;
use sfml::graphics::{
Color, RenderTarget, RenderWindow,
};
use sfml::system::*; use sfml::system::*;
use sfml::system::Vector2 as sfVec2;
use sfml::window::*; use sfml::window::*;
use crate::timer::Timer; use sfml::window::{Event, Key, Style};
use crate::input::Input; use crate::input::Input;
use crate::slider::Slider; use crate::slider::Slider;
use crate::timer::Timer;
extern crate nalgebra as na; mod slider;
mod timer;
use image::{GenericImageView, GenericImage, DynamicImage, Pixel, SubImage}; mod input;
mod util;
use sfml::graphics::{
Color, RenderTarget, RenderWindow,
};
use sfml::window::{ Event, Key, Style};
use sfml::system::Vector2 as sfVec2;
// The container trait for all the shaders // The container trait for all the shaders
trait Effect: Drawable { trait Effect: Drawable {
@ -138,39 +135,18 @@ fn surrounding_pixels(x: u32, y: u32, img: &DynamicImage) -> Vec<image::Rgba<u8>
fn main() { fn main() {
let mut img = image::open("test.jpg").unwrap(); let mut img = image::open("resources/funky-bird.jpg").unwrap();
let xy = img.dimensions(); let xy = img.dimensions();
println!("Starting"); println!("Starting");
for x in 0..xy.0 { // for x in 0..xy.0 {
for y in 0..xy.1 { // for y in 0..xy.1 {
let mut pixel = img.get_pixel(x, y); // let mut pixel = img.get_pixel(x, y);
// img.put_pixel(x, y, pixel);
let v = surrounding_pixels(x, y, &img); // }
// }
let mut avg = v.first().unwrap().clone(); // println!("Ending");
// img.save("fractal.png").unwrap();
for p in v {
let r: u16 = (avg.data[0] as u16 + p.data[0] as u16);
let g: u16 = (avg.data[1] as u16 + p.data[1] as u16);
let b: u16 = (avg.data[2] as u16 + p.data[2] as u16);
let a: u16 = (avg.data[3] as u16 + p.data[3] as u16);
avg.data[0] = (r/2) as u8;
avg.data[1] = (g/2) as u8;
avg.data[2] = (b/2) as u8;
avg.data[3] = (a/2) as u8;
}
pixel.data[0] = avg.data[0];
pixel.data[1] = avg.data[1];
pixel.data[2] = avg.data[2];
pixel.data[3] = avg.data[3];
img.put_pixel(x, y, pixel);
}
}
println!("Ending");
img.save("fractal.png").unwrap();
let mut window = RenderWindow::new( let mut window = RenderWindow::new(
(512, 512), (512, 512),
@ -202,7 +178,6 @@ fn main() {
text_bg.set_color(&Color::rgba(255, 255, 255, 200)); text_bg.set_color(&Color::rgba(255, 255, 255, 200));
//========================================== //==========================================
let mut slider = Slider::new(40.0, None); let mut slider = Slider::new(40.0, None);
let step_size: f32 = 0.005; let step_size: f32 = 0.005;
@ -249,7 +224,7 @@ fn main() {
let x = window.mouse_position().x as f32 / window.size().x as f32; let x = window.mouse_position().x as f32 / window.size().x as f32;
let y = window.mouse_position().y as f32 / window.size().y as f32; let y = window.mouse_position().y as f32 / window.size().y as f32;
effects[current].update(elapsed_time*1000.0, x, y); effects[current].update(elapsed_time*1.0, x, y);
window.clear(&Color::BLACK); window.clear(&Color::BLACK);
@ -259,5 +234,4 @@ fn main() {
window.display(); window.display();
} }
} }

@ -1,9 +0,0 @@
64 64
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 1 1 1 1
0 0 0 0 0 0 0 0
Loading…
Cancel
Save