diff --git a/.gitignore b/.gitignore index 52aaf06a..2b153a60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -interiors *.js *.js.map *.tmp diff --git a/compile.hxml b/compile.hxml index 307e6192..8433cd84 100644 --- a/compile.hxml +++ b/compile.hxml @@ -3,5 +3,6 @@ -lib hlsdl -hl marblegame.hl -D windowSize=1280x720 +-D keep-inline-positions --main Main -debug \ No newline at end of file diff --git a/data/interiors/addon/acrobat1.dif b/data/interiors/addon/acrobat1.dif new file mode 100644 index 00000000..087c1549 Binary files /dev/null and b/data/interiors/addon/acrobat1.dif differ diff --git a/data/interiors/addon/acrobat2.dif b/data/interiors/addon/acrobat2.dif new file mode 100644 index 00000000..73dc0d42 Binary files /dev/null and b/data/interiors/addon/acrobat2.dif differ diff --git a/data/interiors/addon/acrobat3.dif b/data/interiors/addon/acrobat3.dif new file mode 100644 index 00000000..82918596 Binary files /dev/null and b/data/interiors/addon/acrobat3.dif differ diff --git a/data/interiors/addon/airwalk.dif b/data/interiors/addon/airwalk.dif new file mode 100644 index 00000000..2546e815 Binary files /dev/null and b/data/interiors/addon/airwalk.dif differ diff --git a/data/interiors/addon/arch_blue.dif b/data/interiors/addon/arch_blue.dif new file mode 100644 index 00000000..2dfd3a1c Binary files /dev/null and b/data/interiors/addon/arch_blue.dif differ diff --git a/data/interiors/addon/arch_green.dif b/data/interiors/addon/arch_green.dif new file mode 100644 index 00000000..1110e312 Binary files /dev/null and b/data/interiors/addon/arch_green.dif differ diff --git a/data/interiors/addon/arch_purple.dif b/data/interiors/addon/arch_purple.dif new file mode 100644 index 00000000..518160e5 Binary files /dev/null and b/data/interiors/addon/arch_purple.dif differ diff --git a/data/interiors/addon/arch_red.dif b/data/interiors/addon/arch_red.dif new file mode 100644 index 00000000..edd052fb Binary files /dev/null and b/data/interiors/addon/arch_red.dif differ diff --git a/data/interiors/addon/arrowsign.dif b/data/interiors/addon/arrowsign.dif new file mode 100644 index 00000000..d12600cf Binary files /dev/null and b/data/interiors/addon/arrowsign.dif differ diff --git a/data/interiors/addon/battlements.dif b/data/interiors/addon/battlements.dif new file mode 100644 index 00000000..347da22f Binary files /dev/null and b/data/interiors/addon/battlements.dif differ diff --git a/data/interiors/addon/bounce.dif b/data/interiors/addon/bounce.dif new file mode 100644 index 00000000..210df4fe Binary files /dev/null and b/data/interiors/addon/bounce.dif differ diff --git a/data/interiors/addon/construction.dif b/data/interiors/addon/construction.dif new file mode 100644 index 00000000..39040373 Binary files /dev/null and b/data/interiors/addon/construction.dif differ diff --git a/data/interiors/addon/daedalus1.dif b/data/interiors/addon/daedalus1.dif new file mode 100644 index 00000000..e639dfbe Binary files /dev/null and b/data/interiors/addon/daedalus1.dif differ diff --git a/data/interiors/addon/daedalus2.dif b/data/interiors/addon/daedalus2.dif new file mode 100644 index 00000000..67f7d922 Binary files /dev/null and b/data/interiors/addon/daedalus2.dif differ diff --git a/data/interiors/addon/daedalus3.dif b/data/interiors/addon/daedalus3.dif new file mode 100644 index 00000000..443a0372 Binary files /dev/null and b/data/interiors/addon/daedalus3.dif differ diff --git a/data/interiors/addon/darwin.dif b/data/interiors/addon/darwin.dif new file mode 100644 index 00000000..97eb36d6 Binary files /dev/null and b/data/interiors/addon/darwin.dif differ diff --git a/data/interiors/addon/dive0.dif b/data/interiors/addon/dive0.dif new file mode 100644 index 00000000..aededbd7 Binary files /dev/null and b/data/interiors/addon/dive0.dif differ diff --git a/data/interiors/addon/dive1.dif b/data/interiors/addon/dive1.dif new file mode 100644 index 00000000..1c468105 Binary files /dev/null and b/data/interiors/addon/dive1.dif differ diff --git a/data/interiors/addon/dive2.dif b/data/interiors/addon/dive2.dif new file mode 100644 index 00000000..f586bf73 Binary files /dev/null and b/data/interiors/addon/dive2.dif differ diff --git a/data/interiors/addon/dive3.dif b/data/interiors/addon/dive3.dif new file mode 100644 index 00000000..a0c67d36 Binary files /dev/null and b/data/interiors/addon/dive3.dif differ diff --git a/data/interiors/addon/dive4.dif b/data/interiors/addon/dive4.dif new file mode 100644 index 00000000..8ec8368f Binary files /dev/null and b/data/interiors/addon/dive4.dif differ diff --git a/data/interiors/addon/eyeofthestorm.dif b/data/interiors/addon/eyeofthestorm.dif new file mode 100644 index 00000000..7d4c141d Binary files /dev/null and b/data/interiors/addon/eyeofthestorm.dif differ diff --git a/data/interiors/addon/freefall0.dif b/data/interiors/addon/freefall0.dif new file mode 100644 index 00000000..adb5ef5b Binary files /dev/null and b/data/interiors/addon/freefall0.dif differ diff --git a/data/interiors/addon/freefall1.dif b/data/interiors/addon/freefall1.dif new file mode 100644 index 00000000..099c03d5 Binary files /dev/null and b/data/interiors/addon/freefall1.dif differ diff --git a/data/interiors/addon/freefall2.dif b/data/interiors/addon/freefall2.dif new file mode 100644 index 00000000..6a7f650d Binary files /dev/null and b/data/interiors/addon/freefall2.dif differ diff --git a/data/interiors/addon/freefall3.dif b/data/interiors/addon/freefall3.dif new file mode 100644 index 00000000..3ba888e3 Binary files /dev/null and b/data/interiors/addon/freefall3.dif differ diff --git a/data/interiors/addon/freefall4.dif b/data/interiors/addon/freefall4.dif new file mode 100644 index 00000000..38a1bf05 Binary files /dev/null and b/data/interiors/addon/freefall4.dif differ diff --git a/data/interiors/addon/freefall5.dif b/data/interiors/addon/freefall5.dif new file mode 100644 index 00000000..4acf858b Binary files /dev/null and b/data/interiors/addon/freefall5.dif differ diff --git a/data/interiors/addon/kingofthemountain1.dif b/data/interiors/addon/kingofthemountain1.dif new file mode 100644 index 00000000..ea96e47b Binary files /dev/null and b/data/interiors/addon/kingofthemountain1.dif differ diff --git a/data/interiors/addon/kingofthemountain2.dif b/data/interiors/addon/kingofthemountain2.dif new file mode 100644 index 00000000..1f8471da Binary files /dev/null and b/data/interiors/addon/kingofthemountain2.dif differ diff --git a/data/interiors/addon/kingofthemountain3.dif b/data/interiors/addon/kingofthemountain3.dif new file mode 100644 index 00000000..12f4f7c7 Binary files /dev/null and b/data/interiors/addon/kingofthemountain3.dif differ diff --git a/data/interiors/addon/kingofthemountain4.dif b/data/interiors/addon/kingofthemountain4.dif new file mode 100644 index 00000000..72450a49 Binary files /dev/null and b/data/interiors/addon/kingofthemountain4.dif differ diff --git a/data/interiors/addon/kingofthemountain5.dif b/data/interiors/addon/kingofthemountain5.dif new file mode 100644 index 00000000..7cb79684 Binary files /dev/null and b/data/interiors/addon/kingofthemountain5.dif differ diff --git a/data/interiors/addon/kingofthemountain6.dif b/data/interiors/addon/kingofthemountain6.dif new file mode 100644 index 00000000..d0f8ba2b Binary files /dev/null and b/data/interiors/addon/kingofthemountain6.dif differ diff --git a/data/interiors/addon/kingofthemountain7.dif b/data/interiors/addon/kingofthemountain7.dif new file mode 100644 index 00000000..0ffd0d86 Binary files /dev/null and b/data/interiors/addon/kingofthemountain7.dif differ diff --git a/data/interiors/addon/leastresist.dif b/data/interiors/addon/leastresist.dif new file mode 100644 index 00000000..32a0f540 Binary files /dev/null and b/data/interiors/addon/leastresist.dif differ diff --git a/data/interiors/addon/mudslide.dif b/data/interiors/addon/mudslide.dif new file mode 100644 index 00000000..1d1ae9f5 Binary files /dev/null and b/data/interiors/addon/mudslide.dif differ diff --git a/data/interiors/addon/ordeal0.dif b/data/interiors/addon/ordeal0.dif new file mode 100644 index 00000000..6b6f5168 Binary files /dev/null and b/data/interiors/addon/ordeal0.dif differ diff --git a/data/interiors/addon/ordeal1.dif b/data/interiors/addon/ordeal1.dif new file mode 100644 index 00000000..ada2fb78 Binary files /dev/null and b/data/interiors/addon/ordeal1.dif differ diff --git a/data/interiors/addon/pathways.dif b/data/interiors/addon/pathways.dif new file mode 100644 index 00000000..a906331d Binary files /dev/null and b/data/interiors/addon/pathways.dif differ diff --git a/data/interiors/addon/pinball0.dif b/data/interiors/addon/pinball0.dif new file mode 100644 index 00000000..75a4c88e Binary files /dev/null and b/data/interiors/addon/pinball0.dif differ diff --git a/data/interiors/addon/pinball1.dif b/data/interiors/addon/pinball1.dif new file mode 100644 index 00000000..13979f9d Binary files /dev/null and b/data/interiors/addon/pinball1.dif differ diff --git a/data/interiors/addon/pinball2.dif b/data/interiors/addon/pinball2.dif new file mode 100644 index 00000000..5e5b4ea1 Binary files /dev/null and b/data/interiors/addon/pinball2.dif differ diff --git a/data/interiors/addon/pinball3.dif b/data/interiors/addon/pinball3.dif new file mode 100644 index 00000000..6166ad62 Binary files /dev/null and b/data/interiors/addon/pinball3.dif differ diff --git a/data/interiors/addon/pinball4.dif b/data/interiors/addon/pinball4.dif new file mode 100644 index 00000000..ae9c5727 Binary files /dev/null and b/data/interiors/addon/pinball4.dif differ diff --git a/data/interiors/addon/pipe.dif b/data/interiors/addon/pipe.dif new file mode 100644 index 00000000..a561fccd Binary files /dev/null and b/data/interiors/addon/pipe.dif differ diff --git a/data/interiors/addon/pipe0.dif b/data/interiors/addon/pipe0.dif new file mode 100644 index 00000000..201927aa Binary files /dev/null and b/data/interiors/addon/pipe0.dif differ diff --git a/data/interiors/addon/pipe1.dif b/data/interiors/addon/pipe1.dif new file mode 100644 index 00000000..2639dcf3 Binary files /dev/null and b/data/interiors/addon/pipe1.dif differ diff --git a/data/interiors/addon/pipe2.dif b/data/interiors/addon/pipe2.dif new file mode 100644 index 00000000..90c334d2 Binary files /dev/null and b/data/interiors/addon/pipe2.dif differ diff --git a/data/interiors/addon/pipe3.dif b/data/interiors/addon/pipe3.dif new file mode 100644 index 00000000..02353bac Binary files /dev/null and b/data/interiors/addon/pipe3.dif differ diff --git a/data/interiors/addon/pipe3way.dif b/data/interiors/addon/pipe3way.dif new file mode 100644 index 00000000..ef9390bf Binary files /dev/null and b/data/interiors/addon/pipe3way.dif differ diff --git a/data/interiors/addon/pipe4.dif b/data/interiors/addon/pipe4.dif new file mode 100644 index 00000000..d2984f65 Binary files /dev/null and b/data/interiors/addon/pipe4.dif differ diff --git a/data/interiors/addon/pipe5.dif b/data/interiors/addon/pipe5.dif new file mode 100644 index 00000000..30f8090f Binary files /dev/null and b/data/interiors/addon/pipe5.dif differ diff --git a/data/interiors/addon/pipe6.dif b/data/interiors/addon/pipe6.dif new file mode 100644 index 00000000..442d2b2e Binary files /dev/null and b/data/interiors/addon/pipe6.dif differ diff --git a/data/interiors/addon/pipe7.dif b/data/interiors/addon/pipe7.dif new file mode 100644 index 00000000..9eb3468e Binary files /dev/null and b/data/interiors/addon/pipe7.dif differ diff --git a/data/interiors/addon/pipecap.dif b/data/interiors/addon/pipecap.dif new file mode 100644 index 00000000..30d7362f Binary files /dev/null and b/data/interiors/addon/pipecap.dif differ diff --git a/data/interiors/addon/pipeturn.dif b/data/interiors/addon/pipeturn.dif new file mode 100644 index 00000000..5663ea3a Binary files /dev/null and b/data/interiors/addon/pipeturn.dif differ diff --git a/data/interiors/addon/plumbing.dif b/data/interiors/addon/plumbing.dif new file mode 100644 index 00000000..aa95a952 Binary files /dev/null and b/data/interiors/addon/plumbing.dif differ diff --git a/data/interiors/addon/reloaded.dif b/data/interiors/addon/reloaded.dif new file mode 100644 index 00000000..fca5c047 Binary files /dev/null and b/data/interiors/addon/reloaded.dif differ diff --git a/data/interiors/addon/scaffold.dif b/data/interiors/addon/scaffold.dif new file mode 100644 index 00000000..6e649f26 Binary files /dev/null and b/data/interiors/addon/scaffold.dif differ diff --git a/data/interiors/addon/selection0.dif b/data/interiors/addon/selection0.dif new file mode 100644 index 00000000..b6a318d6 Binary files /dev/null and b/data/interiors/addon/selection0.dif differ diff --git a/data/interiors/addon/selection1.dif b/data/interiors/addon/selection1.dif new file mode 100644 index 00000000..b5d85892 Binary files /dev/null and b/data/interiors/addon/selection1.dif differ diff --git a/data/interiors/addon/selection2.dif b/data/interiors/addon/selection2.dif new file mode 100644 index 00000000..c188c89a Binary files /dev/null and b/data/interiors/addon/selection2.dif differ diff --git a/data/interiors/addon/selection3.dif b/data/interiors/addon/selection3.dif new file mode 100644 index 00000000..fc4855f8 Binary files /dev/null and b/data/interiors/addon/selection3.dif differ diff --git a/data/interiors/addon/selection4.dif b/data/interiors/addon/selection4.dif new file mode 100644 index 00000000..757b9c4f Binary files /dev/null and b/data/interiors/addon/selection4.dif differ diff --git a/data/interiors/addon/selection5.dif b/data/interiors/addon/selection5.dif new file mode 100644 index 00000000..3883220b Binary files /dev/null and b/data/interiors/addon/selection5.dif differ diff --git a/data/interiors/addon/shimmy.dif b/data/interiors/addon/shimmy.dif new file mode 100644 index 00000000..dda877bc Binary files /dev/null and b/data/interiors/addon/shimmy.dif differ diff --git a/data/interiors/addon/siege.dif b/data/interiors/addon/siege.dif new file mode 100644 index 00000000..899b29fe Binary files /dev/null and b/data/interiors/addon/siege.dif differ diff --git a/data/interiors/addon/ski0.dif b/data/interiors/addon/ski0.dif new file mode 100644 index 00000000..a13afd05 Binary files /dev/null and b/data/interiors/addon/ski0.dif differ diff --git a/data/interiors/addon/ski1.dif b/data/interiors/addon/ski1.dif new file mode 100644 index 00000000..2d057771 Binary files /dev/null and b/data/interiors/addon/ski1.dif differ diff --git a/data/interiors/addon/ski2.dif b/data/interiors/addon/ski2.dif new file mode 100644 index 00000000..8b844d2b Binary files /dev/null and b/data/interiors/addon/ski2.dif differ diff --git a/data/interiors/addon/ski3.dif b/data/interiors/addon/ski3.dif new file mode 100644 index 00000000..73172242 Binary files /dev/null and b/data/interiors/addon/ski3.dif differ diff --git a/data/interiors/addon/smallplatform.dif b/data/interiors/addon/smallplatform.dif new file mode 100644 index 00000000..d5953bb2 Binary files /dev/null and b/data/interiors/addon/smallplatform.dif differ diff --git a/data/interiors/addon/tightrope.dif b/data/interiors/addon/tightrope.dif new file mode 100644 index 00000000..48432126 Binary files /dev/null and b/data/interiors/addon/tightrope.dif differ diff --git a/data/interiors/addon/towermaze.dif b/data/interiors/addon/towermaze.dif new file mode 100644 index 00000000..f4230782 Binary files /dev/null and b/data/interiors/addon/towermaze.dif differ diff --git a/data/interiors/addon/whorl0.dif b/data/interiors/addon/whorl0.dif new file mode 100644 index 00000000..fc98c7d4 Binary files /dev/null and b/data/interiors/addon/whorl0.dif differ diff --git a/data/interiors/addon/whorl1.dif b/data/interiors/addon/whorl1.dif new file mode 100644 index 00000000..876db2d3 Binary files /dev/null and b/data/interiors/addon/whorl1.dif differ diff --git a/data/interiors/addon/whorl2.dif b/data/interiors/addon/whorl2.dif new file mode 100644 index 00000000..a82e763c Binary files /dev/null and b/data/interiors/addon/whorl2.dif differ diff --git a/data/interiors/addon/whorl3.dif b/data/interiors/addon/whorl3.dif new file mode 100644 index 00000000..d38110d3 Binary files /dev/null and b/data/interiors/addon/whorl3.dif differ diff --git a/data/interiors/addon/whorl4.dif b/data/interiors/addon/whorl4.dif new file mode 100644 index 00000000..5f0a1d26 Binary files /dev/null and b/data/interiors/addon/whorl4.dif differ diff --git a/data/interiors/addon/whorl5.dif b/data/interiors/addon/whorl5.dif new file mode 100644 index 00000000..9e120554 Binary files /dev/null and b/data/interiors/addon/whorl5.dif differ diff --git a/data/interiors/advanced/a-maze-ing.dif b/data/interiors/advanced/a-maze-ing.dif new file mode 100644 index 00000000..c272df52 Binary files /dev/null and b/data/interiors/advanced/a-maze-ing.dif differ diff --git a/data/interiors/advanced/blockparty.dif b/data/interiors/advanced/blockparty.dif new file mode 100644 index 00000000..970f5b87 Binary files /dev/null and b/data/interiors/advanced/blockparty.dif differ diff --git a/data/interiors/advanced/escher.dif b/data/interiors/advanced/escher.dif new file mode 100644 index 00000000..4f262270 Binary files /dev/null and b/data/interiors/advanced/escher.dif differ diff --git a/data/interiors/advanced/greatdivide2.dif b/data/interiors/advanced/greatdivide2.dif new file mode 100644 index 00000000..7399e07b Binary files /dev/null and b/data/interiors/advanced/greatdivide2.dif differ diff --git a/data/interiors/advanced/half-pipe0.dif b/data/interiors/advanced/half-pipe0.dif new file mode 100644 index 00000000..ce2ddbb6 Binary files /dev/null and b/data/interiors/advanced/half-pipe0.dif differ diff --git a/data/interiors/advanced/half-pipe1.dif b/data/interiors/advanced/half-pipe1.dif new file mode 100644 index 00000000..21873df5 Binary files /dev/null and b/data/interiors/advanced/half-pipe1.dif differ diff --git a/data/interiors/advanced/half-pipe2.dif b/data/interiors/advanced/half-pipe2.dif new file mode 100644 index 00000000..262b739d Binary files /dev/null and b/data/interiors/advanced/half-pipe2.dif differ diff --git a/data/interiors/advanced/platform_circle.dif b/data/interiors/advanced/platform_circle.dif new file mode 100644 index 00000000..8c7dc7ac Binary files /dev/null and b/data/interiors/advanced/platform_circle.dif differ diff --git a/data/interiors/advanced/platform_circle_huge.dif b/data/interiors/advanced/platform_circle_huge.dif new file mode 100644 index 00000000..12b90d72 Binary files /dev/null and b/data/interiors/advanced/platform_circle_huge.dif differ diff --git a/data/interiors/advanced/slipslide.dif b/data/interiors/advanced/slipslide.dif new file mode 100644 index 00000000..1d4e1c69 Binary files /dev/null and b/data/interiors/advanced/slipslide.dif differ diff --git a/data/interiors/advanced/survival.dif b/data/interiors/advanced/survival.dif new file mode 100644 index 00000000..3d36e92c Binary files /dev/null and b/data/interiors/advanced/survival.dif differ diff --git a/data/interiors/advanced/texturesource/_ b/data/interiors/advanced/texturesource/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/advanced/thrillride.dif b/data/interiors/advanced/thrillride.dif new file mode 100644 index 00000000..f19e517f Binary files /dev/null and b/data/interiors/advanced/thrillride.dif differ diff --git a/data/interiors/advanced/tothemoon.dif b/data/interiors/advanced/tothemoon.dif new file mode 100644 index 00000000..a501c98f Binary files /dev/null and b/data/interiors/advanced/tothemoon.dif differ diff --git a/data/interiors/advanced/trapdoor.dif b/data/interiors/advanced/trapdoor.dif new file mode 100644 index 00000000..801e6029 Binary files /dev/null and b/data/interiors/advanced/trapdoor.dif differ diff --git a/data/interiors/advanced/twisting.dif b/data/interiors/advanced/twisting.dif new file mode 100644 index 00000000..63ae16ea Binary files /dev/null and b/data/interiors/advanced/twisting.dif differ diff --git a/data/interiors/advanced/willowisp.dif b/data/interiors/advanced/willowisp.dif new file mode 100644 index 00000000..d96ee803 Binary files /dev/null and b/data/interiors/advanced/willowisp.dif differ diff --git a/data/interiors/arrow_cool1.jpg b/data/interiors/arrow_cool1.jpg new file mode 100644 index 00000000..52da75ce Binary files /dev/null and b/data/interiors/arrow_cool1.jpg differ diff --git a/data/interiors/arrow_neutral1.jpg b/data/interiors/arrow_neutral1.jpg new file mode 100644 index 00000000..6328cf38 Binary files /dev/null and b/data/interiors/arrow_neutral1.jpg differ diff --git a/data/interiors/arrow_neutral2.jpg b/data/interiors/arrow_neutral2.jpg new file mode 100644 index 00000000..f3bff588 Binary files /dev/null and b/data/interiors/arrow_neutral2.jpg differ diff --git a/data/interiors/arrow_warm1.jpg b/data/interiors/arrow_warm1.jpg new file mode 100644 index 00000000..fac5ce66 Binary files /dev/null and b/data/interiors/arrow_warm1.jpg differ diff --git a/data/interiors/beginner/backagain.dif b/data/interiors/beginner/backagain.dif new file mode 100644 index 00000000..e6b6c71e Binary files /dev/null and b/data/interiors/beginner/backagain.dif differ diff --git a/data/interiors/beginner/beginner_finish.dif b/data/interiors/beginner/beginner_finish.dif new file mode 100644 index 00000000..0a73dd3c Binary files /dev/null and b/data/interiors/beginner/beginner_finish.dif differ diff --git a/data/interiors/beginner/beginner_playground.dif b/data/interiors/beginner/beginner_playground.dif new file mode 100644 index 00000000..7e2e68a7 Binary files /dev/null and b/data/interiors/beginner/beginner_playground.dif differ diff --git a/data/interiors/beginner/forkinroad.dif b/data/interiors/beginner/forkinroad.dif new file mode 100644 index 00000000..4386b7f0 Binary files /dev/null and b/data/interiors/beginner/forkinroad.dif differ diff --git a/data/interiors/beginner/goforgreen.dif b/data/interiors/beginner/goforgreen.dif new file mode 100644 index 00000000..9d6e236b Binary files /dev/null and b/data/interiors/beginner/goforgreen.dif differ diff --git a/data/interiors/beginner/hoops.dif b/data/interiors/beginner/hoops.dif new file mode 100644 index 00000000..509fc9bf Binary files /dev/null and b/data/interiors/beginner/hoops.dif differ diff --git a/data/interiors/beginner/jumpjumpjump.dif b/data/interiors/beginner/jumpjumpjump.dif new file mode 100644 index 00000000..5f67eb31 Binary files /dev/null and b/data/interiors/beginner/jumpjumpjump.dif differ diff --git a/data/interiors/beginner/pitfall.dif b/data/interiors/beginner/pitfall.dif new file mode 100644 index 00000000..b37faf11 Binary files /dev/null and b/data/interiors/beginner/pitfall.dif differ diff --git a/data/interiors/beginner/platformparty.dif b/data/interiors/beginner/platformparty.dif new file mode 100644 index 00000000..0e18bd80 Binary files /dev/null and b/data/interiors/beginner/platformparty.dif differ diff --git a/data/interiors/beginner/skatepark.dif b/data/interiors/beginner/skatepark.dif new file mode 100644 index 00000000..beb0d712 Binary files /dev/null and b/data/interiors/beginner/skatepark.dif differ diff --git a/data/interiors/beginner/training1.dif b/data/interiors/beginner/training1.dif new file mode 100644 index 00000000..64b2f9d9 Binary files /dev/null and b/data/interiors/beginner/training1.dif differ diff --git a/data/interiors/beginner/training2.dif b/data/interiors/beginner/training2.dif new file mode 100644 index 00000000..fe10106f Binary files /dev/null and b/data/interiors/beginner/training2.dif differ diff --git a/data/interiors/beginner/training3.dif b/data/interiors/beginner/training3.dif new file mode 100644 index 00000000..f9a60ee2 Binary files /dev/null and b/data/interiors/beginner/training3.dif differ diff --git a/data/interiors/beginner/training_airmove.dif b/data/interiors/beginner/training_airmove.dif new file mode 100644 index 00000000..0f8c4bc9 Binary files /dev/null and b/data/interiors/beginner/training_airmove.dif differ diff --git a/data/interiors/beginner/training_bounce.dif b/data/interiors/beginner/training_bounce.dif new file mode 100644 index 00000000..f9294602 Binary files /dev/null and b/data/interiors/beginner/training_bounce.dif differ diff --git a/data/interiors/beginner/training_bumpers.dif b/data/interiors/beginner/training_bumpers.dif new file mode 100644 index 00000000..e212150e Binary files /dev/null and b/data/interiors/beginner/training_bumpers.dif differ diff --git a/data/interiors/beginner/training_copter.dif b/data/interiors/beginner/training_copter.dif new file mode 100644 index 00000000..736ff40f Binary files /dev/null and b/data/interiors/beginner/training_copter.dif differ diff --git a/data/interiors/beginner/training_elevator.dif b/data/interiors/beginner/training_elevator.dif new file mode 100644 index 00000000..3fb60ec0 Binary files /dev/null and b/data/interiors/beginner/training_elevator.dif differ diff --git a/data/interiors/beginner/training_fans.dif b/data/interiors/beginner/training_fans.dif new file mode 100644 index 00000000..e0b71899 Binary files /dev/null and b/data/interiors/beginner/training_fans.dif differ diff --git a/data/interiors/beginner/training_friction.dif b/data/interiors/beginner/training_friction.dif new file mode 100644 index 00000000..3deb5738 Binary files /dev/null and b/data/interiors/beginner/training_friction.dif differ diff --git a/data/interiors/beginner/training_gravity.dif b/data/interiors/beginner/training_gravity.dif new file mode 100644 index 00000000..3a2c1284 Binary files /dev/null and b/data/interiors/beginner/training_gravity.dif differ diff --git a/data/interiors/beginner/training_jewel.dif b/data/interiors/beginner/training_jewel.dif new file mode 100644 index 00000000..530bac2b Binary files /dev/null and b/data/interiors/beginner/training_jewel.dif differ diff --git a/data/interiors/beginner/training_jump.dif b/data/interiors/beginner/training_jump.dif new file mode 100644 index 00000000..7fd81991 Binary files /dev/null and b/data/interiors/beginner/training_jump.dif differ diff --git a/data/interiors/beginner/training_mines.dif b/data/interiors/beginner/training_mines.dif new file mode 100644 index 00000000..70a93600 Binary files /dev/null and b/data/interiors/beginner/training_mines.dif differ diff --git a/data/interiors/beginner/training_platform.dif b/data/interiors/beginner/training_platform.dif new file mode 100644 index 00000000..27be9d17 Binary files /dev/null and b/data/interiors/beginner/training_platform.dif differ diff --git a/data/interiors/beginner/training_shock.dif b/data/interiors/beginner/training_shock.dif new file mode 100644 index 00000000..4f91397f Binary files /dev/null and b/data/interiors/beginner/training_shock.dif differ diff --git a/data/interiors/beginner/training_speed.dif b/data/interiors/beginner/training_speed.dif new file mode 100644 index 00000000..7e35e065 Binary files /dev/null and b/data/interiors/beginner/training_speed.dif differ diff --git a/data/interiors/beginner/training_time.dif b/data/interiors/beginner/training_time.dif new file mode 100644 index 00000000..efc13096 Binary files /dev/null and b/data/interiors/beginner/training_time.dif differ diff --git a/data/interiors/beginner/training_tornado.dif b/data/interiors/beginner/training_tornado.dif new file mode 100644 index 00000000..661f30c6 Binary files /dev/null and b/data/interiors/beginner/training_tornado.dif differ diff --git a/data/interiors/beginner/training_trapdoor.dif b/data/interiors/beginner/training_trapdoor.dif new file mode 100644 index 00000000..37133867 Binary files /dev/null and b/data/interiors/beginner/training_trapdoor.dif differ diff --git a/data/interiors/beginner/tritwist.dif b/data/interiors/beginner/tritwist.dif new file mode 100644 index 00000000..5d5b7558 Binary files /dev/null and b/data/interiors/beginner/tritwist.dif differ diff --git a/data/interiors/beginner/windingroad.dif b/data/interiors/beginner/windingroad.dif new file mode 100644 index 00000000..98097342 Binary files /dev/null and b/data/interiors/beginner/windingroad.dif differ diff --git a/data/interiors/chevron_cool.jpg b/data/interiors/chevron_cool.jpg new file mode 100644 index 00000000..c14c5837 Binary files /dev/null and b/data/interiors/chevron_cool.jpg differ diff --git a/data/interiors/chevron_cool2.jpg b/data/interiors/chevron_cool2.jpg new file mode 100644 index 00000000..e51ea8f5 Binary files /dev/null and b/data/interiors/chevron_cool2.jpg differ diff --git a/data/interiors/chevron_neutral.jpg b/data/interiors/chevron_neutral.jpg new file mode 100644 index 00000000..ea0d566f Binary files /dev/null and b/data/interiors/chevron_neutral.jpg differ diff --git a/data/interiors/chevron_neutral2.jpg b/data/interiors/chevron_neutral2.jpg new file mode 100644 index 00000000..8cf876c9 Binary files /dev/null and b/data/interiors/chevron_neutral2.jpg differ diff --git a/data/interiors/chevron_warm.jpg b/data/interiors/chevron_warm.jpg new file mode 100644 index 00000000..ddcb716d Binary files /dev/null and b/data/interiors/chevron_warm.jpg differ diff --git a/data/interiors/chevron_warm2.jpg b/data/interiors/chevron_warm2.jpg new file mode 100644 index 00000000..1a114381 Binary files /dev/null and b/data/interiors/chevron_warm2.jpg differ diff --git a/data/interiors/custom_crate.jpg b/data/interiors/custom_crate.jpg new file mode 100644 index 00000000..eb1e1460 Binary files /dev/null and b/data/interiors/custom_crate.jpg differ diff --git a/data/interiors/custom_dirt.jpg b/data/interiors/custom_dirt.jpg new file mode 100644 index 00000000..77893eba Binary files /dev/null and b/data/interiors/custom_dirt.jpg differ diff --git a/data/interiors/custom_insd_track.jpg b/data/interiors/custom_insd_track.jpg new file mode 100644 index 00000000..2e49b8e1 Binary files /dev/null and b/data/interiors/custom_insd_track.jpg differ diff --git a/data/interiors/custom_logend.jpg b/data/interiors/custom_logend.jpg new file mode 100644 index 00000000..6f774357 Binary files /dev/null and b/data/interiors/custom_logend.jpg differ diff --git a/data/interiors/custom_logside.jpg b/data/interiors/custom_logside.jpg new file mode 100644 index 00000000..37930586 Binary files /dev/null and b/data/interiors/custom_logside.jpg differ diff --git a/data/interiors/custom_mid_track.jpg b/data/interiors/custom_mid_track.jpg new file mode 100644 index 00000000..ad7c5b60 Binary files /dev/null and b/data/interiors/custom_mid_track.jpg differ diff --git a/data/interiors/custom_parking.jpg b/data/interiors/custom_parking.jpg new file mode 100644 index 00000000..02bcf260 Binary files /dev/null and b/data/interiors/custom_parking.jpg differ diff --git a/data/interiors/custom_red_brick.jpg b/data/interiors/custom_red_brick.jpg new file mode 100644 index 00000000..d90b0b7e Binary files /dev/null and b/data/interiors/custom_red_brick.jpg differ diff --git a/data/interiors/custom_road.jpg b/data/interiors/custom_road.jpg new file mode 100644 index 00000000..620bb2b3 Binary files /dev/null and b/data/interiors/custom_road.jpg differ diff --git a/data/interiors/custom_sand.jpg b/data/interiors/custom_sand.jpg new file mode 100644 index 00000000..c8e44f0a Binary files /dev/null and b/data/interiors/custom_sand.jpg differ diff --git a/data/interiors/custom_skyscrape2.jpg b/data/interiors/custom_skyscrape2.jpg new file mode 100644 index 00000000..166b6bcc Binary files /dev/null and b/data/interiors/custom_skyscrape2.jpg differ diff --git a/data/interiors/custom_water.jpg b/data/interiors/custom_water.jpg new file mode 100644 index 00000000..e1e4c9bd Binary files /dev/null and b/data/interiors/custom_water.jpg differ diff --git a/data/interiors/custom_water_bttm.jpg b/data/interiors/custom_water_bttm.jpg new file mode 100644 index 00000000..4e9925ad Binary files /dev/null and b/data/interiors/custom_water_bttm.jpg differ diff --git a/data/interiors/custom_water_lft.jpg b/data/interiors/custom_water_lft.jpg new file mode 100644 index 00000000..66d5162f Binary files /dev/null and b/data/interiors/custom_water_lft.jpg differ diff --git a/data/interiors/custom_water_rte.jpg b/data/interiors/custom_water_rte.jpg new file mode 100644 index 00000000..468da21b Binary files /dev/null and b/data/interiors/custom_water_rte.jpg differ diff --git a/data/interiors/custom_water_top.jpg b/data/interiors/custom_water_top.jpg new file mode 100644 index 00000000..d1475c9a Binary files /dev/null and b/data/interiors/custom_water_top.jpg differ diff --git a/data/interiors/custom_woodblockside.jpg b/data/interiors/custom_woodblockside.jpg new file mode 100644 index 00000000..f42a30c3 Binary files /dev/null and b/data/interiors/custom_woodblockside.jpg differ diff --git a/data/interiors/custom_woodblocktop.jpg b/data/interiors/custom_woodblocktop.jpg new file mode 100644 index 00000000..17f1fe7a Binary files /dev/null and b/data/interiors/custom_woodblocktop.jpg differ diff --git a/data/interiors/custom_woodbox.jpg b/data/interiors/custom_woodbox.jpg new file mode 100644 index 00000000..a3b0839a Binary files /dev/null and b/data/interiors/custom_woodbox.jpg differ diff --git a/data/interiors/edge_cool1.jpg b/data/interiors/edge_cool1.jpg new file mode 100644 index 00000000..b6991eba Binary files /dev/null and b/data/interiors/edge_cool1.jpg differ diff --git a/data/interiors/edge_cool2.jpg b/data/interiors/edge_cool2.jpg new file mode 100644 index 00000000..c0a15cb1 Binary files /dev/null and b/data/interiors/edge_cool2.jpg differ diff --git a/data/interiors/edge_neutral1.jpg b/data/interiors/edge_neutral1.jpg new file mode 100644 index 00000000..3fef9854 Binary files /dev/null and b/data/interiors/edge_neutral1.jpg differ diff --git a/data/interiors/edge_neutral2.jpg b/data/interiors/edge_neutral2.jpg new file mode 100644 index 00000000..458f7939 Binary files /dev/null and b/data/interiors/edge_neutral2.jpg differ diff --git a/data/interiors/edge_warm1.jpg b/data/interiors/edge_warm1.jpg new file mode 100644 index 00000000..3519883e Binary files /dev/null and b/data/interiors/edge_warm1.jpg differ diff --git a/data/interiors/edge_warm2.jpg b/data/interiors/edge_warm2.jpg new file mode 100644 index 00000000..d35e4d8a Binary files /dev/null and b/data/interiors/edge_warm2.jpg differ diff --git a/data/interiors/edge_white.jpg b/data/interiors/edge_white.jpg new file mode 100644 index 00000000..d3d94f85 Binary files /dev/null and b/data/interiors/edge_white.jpg differ diff --git a/data/interiors/edge_white2.jpg b/data/interiors/edge_white2.jpg new file mode 100644 index 00000000..07384941 Binary files /dev/null and b/data/interiors/edge_white2.jpg differ diff --git a/data/interiors/friction_high.jpg b/data/interiors/friction_high.jpg new file mode 100644 index 00000000..a2376d76 Binary files /dev/null and b/data/interiors/friction_high.jpg differ diff --git a/data/interiors/friction_low.jpg b/data/interiors/friction_low.jpg new file mode 100644 index 00000000..e3cc333c Binary files /dev/null and b/data/interiors/friction_low.jpg differ diff --git a/data/interiors/friction_none.jpg b/data/interiors/friction_none.jpg new file mode 100644 index 00000000..b6e66e0a Binary files /dev/null and b/data/interiors/friction_none.jpg differ diff --git a/data/interiors/friction_ramp_yellow.jpg b/data/interiors/friction_ramp_yellow.jpg new file mode 100644 index 00000000..583fa02b Binary files /dev/null and b/data/interiors/friction_ramp_yellow.jpg differ diff --git a/data/interiors/grid_cool.jpg b/data/interiors/grid_cool.jpg new file mode 100644 index 00000000..7a1e1b23 Binary files /dev/null and b/data/interiors/grid_cool.jpg differ diff --git a/data/interiors/grid_cool2.jpg b/data/interiors/grid_cool2.jpg new file mode 100644 index 00000000..1d66a2aa Binary files /dev/null and b/data/interiors/grid_cool2.jpg differ diff --git a/data/interiors/grid_cool3.jpg b/data/interiors/grid_cool3.jpg new file mode 100644 index 00000000..5866e1e8 Binary files /dev/null and b/data/interiors/grid_cool3.jpg differ diff --git a/data/interiors/grid_cool4.jpg b/data/interiors/grid_cool4.jpg new file mode 100644 index 00000000..dad10ecc Binary files /dev/null and b/data/interiors/grid_cool4.jpg differ diff --git a/data/interiors/grid_neutral.jpg b/data/interiors/grid_neutral.jpg new file mode 100644 index 00000000..cbea27cd Binary files /dev/null and b/data/interiors/grid_neutral.jpg differ diff --git a/data/interiors/grid_neutral1.jpg b/data/interiors/grid_neutral1.jpg new file mode 100644 index 00000000..7e61411f Binary files /dev/null and b/data/interiors/grid_neutral1.jpg differ diff --git a/data/interiors/grid_neutral2.jpg b/data/interiors/grid_neutral2.jpg new file mode 100644 index 00000000..373a6949 Binary files /dev/null and b/data/interiors/grid_neutral2.jpg differ diff --git a/data/interiors/grid_neutral3.jpg b/data/interiors/grid_neutral3.jpg new file mode 100644 index 00000000..44dcefbc Binary files /dev/null and b/data/interiors/grid_neutral3.jpg differ diff --git a/data/interiors/grid_neutral4.jpg b/data/interiors/grid_neutral4.jpg new file mode 100644 index 00000000..8eb70130 Binary files /dev/null and b/data/interiors/grid_neutral4.jpg differ diff --git a/data/interiors/grid_warm.jpg b/data/interiors/grid_warm.jpg new file mode 100644 index 00000000..1eb7e99e Binary files /dev/null and b/data/interiors/grid_warm.jpg differ diff --git a/data/interiors/grid_warm1.jpg b/data/interiors/grid_warm1.jpg new file mode 100644 index 00000000..4dbb86c3 Binary files /dev/null and b/data/interiors/grid_warm1.jpg differ diff --git a/data/interiors/grid_warm2.jpg b/data/interiors/grid_warm2.jpg new file mode 100644 index 00000000..0de2fc34 Binary files /dev/null and b/data/interiors/grid_warm2.jpg differ diff --git a/data/interiors/grid_warm3.jpg b/data/interiors/grid_warm3.jpg new file mode 100644 index 00000000..e1fa6f9f Binary files /dev/null and b/data/interiors/grid_warm3.jpg differ diff --git a/data/interiors/grid_warm4.jpg b/data/interiors/grid_warm4.jpg new file mode 100644 index 00000000..1e6b153a Binary files /dev/null and b/data/interiors/grid_warm4.jpg differ diff --git a/data/interiors/intermediate/aroundtheworld.dif b/data/interiors/intermediate/aroundtheworld.dif new file mode 100644 index 00000000..d53e3b6e Binary files /dev/null and b/data/interiors/intermediate/aroundtheworld.dif differ diff --git a/data/interiors/intermediate/compass_points.dif b/data/interiors/intermediate/compass_points.dif new file mode 100644 index 00000000..ddbfc54a Binary files /dev/null and b/data/interiors/intermediate/compass_points.dif differ diff --git a/data/interiors/intermediate/fan_lift.dif b/data/interiors/intermediate/fan_lift.dif new file mode 100644 index 00000000..a890c830 Binary files /dev/null and b/data/interiors/intermediate/fan_lift.dif differ diff --git a/data/interiors/intermediate/gauntlet.dif b/data/interiors/intermediate/gauntlet.dif new file mode 100644 index 00000000..917997c2 Binary files /dev/null and b/data/interiors/intermediate/gauntlet.dif differ diff --git a/data/interiors/intermediate/greatdivide.dif b/data/interiors/intermediate/greatdivide.dif new file mode 100644 index 00000000..80ad60ca Binary files /dev/null and b/data/interiors/intermediate/greatdivide.dif differ diff --git a/data/interiors/intermediate/highway.dif b/data/interiors/intermediate/highway.dif new file mode 100644 index 00000000..96362f68 Binary files /dev/null and b/data/interiors/intermediate/highway.dif differ diff --git a/data/interiors/intermediate/hopskipjump.dif b/data/interiors/intermediate/hopskipjump.dif new file mode 100644 index 00000000..6a78595c Binary files /dev/null and b/data/interiors/intermediate/hopskipjump.dif differ diff --git a/data/interiors/intermediate/inthighroadlowroad.dif b/data/interiors/intermediate/inthighroadlowroad.dif new file mode 100644 index 00000000..8f548dbe Binary files /dev/null and b/data/interiors/intermediate/inthighroadlowroad.dif differ diff --git a/data/interiors/intermediate/intskeeball.dif b/data/interiors/intermediate/intskeeball.dif new file mode 100644 index 00000000..c48376b4 Binary files /dev/null and b/data/interiors/intermediate/intskeeball.dif differ diff --git a/data/interiors/intermediate/intsteppingstones.dif b/data/interiors/intermediate/intsteppingstones.dif new file mode 100644 index 00000000..86523d52 Binary files /dev/null and b/data/interiors/intermediate/intsteppingstones.dif differ diff --git a/data/interiors/intermediate/leapoffaith.dif b/data/interiors/intermediate/leapoffaith.dif new file mode 100644 index 00000000..1e3e92e7 Binary files /dev/null and b/data/interiors/intermediate/leapoffaith.dif differ diff --git a/data/interiors/intermediate/marbletris.dif b/data/interiors/intermediate/marbletris.dif new file mode 100644 index 00000000..0e4820f0 Binary files /dev/null and b/data/interiors/intermediate/marbletris.dif differ diff --git a/data/interiors/intermediate/moebius.dif b/data/interiors/intermediate/moebius.dif new file mode 100644 index 00000000..f246fd61 Binary files /dev/null and b/data/interiors/intermediate/moebius.dif differ diff --git a/data/interiors/intermediate/motomarblecross.dif b/data/interiors/intermediate/motomarblecross.dif new file mode 100644 index 00000000..c08fc9fe Binary files /dev/null and b/data/interiors/intermediate/motomarblecross.dif differ diff --git a/data/interiors/intermediate/obstacle_course1.dif b/data/interiors/intermediate/obstacle_course1.dif new file mode 100644 index 00000000..5c1f07b3 Binary files /dev/null and b/data/interiors/intermediate/obstacle_course1.dif differ diff --git a/data/interiors/intermediate/racetrack.dif b/data/interiors/intermediate/racetrack.dif new file mode 100644 index 00000000..4f4fcd6b Binary files /dev/null and b/data/interiors/intermediate/racetrack.dif differ diff --git a/data/interiors/intermediate/rampmatrix.dif b/data/interiors/intermediate/rampmatrix.dif new file mode 100644 index 00000000..60583287 Binary files /dev/null and b/data/interiors/intermediate/rampmatrix.dif differ diff --git a/data/interiors/intermediate/shockdrop.dif b/data/interiors/intermediate/shockdrop.dif new file mode 100644 index 00000000..c08a48e8 Binary files /dev/null and b/data/interiors/intermediate/shockdrop.dif differ diff --git a/data/interiors/intermediate/skyscraper.dif b/data/interiors/intermediate/skyscraper.dif new file mode 100644 index 00000000..284d42e1 Binary files /dev/null and b/data/interiors/intermediate/skyscraper.dif differ diff --git a/data/interiors/intermediate/spaceslide.dif b/data/interiors/intermediate/spaceslide.dif new file mode 100644 index 00000000..b15c1778 Binary files /dev/null and b/data/interiors/intermediate/spaceslide.dif differ diff --git a/data/interiors/intermediate/the_wave.dif b/data/interiors/intermediate/the_wave.dif new file mode 100644 index 00000000..211cd349 Binary files /dev/null and b/data/interiors/intermediate/the_wave.dif differ diff --git a/data/interiors/intermediate/tornado_jump.dif b/data/interiors/intermediate/tornado_jump.dif new file mode 100644 index 00000000..51b5c22a Binary files /dev/null and b/data/interiors/intermediate/tornado_jump.dif differ diff --git a/data/interiors/intermediate/tornadotoss.dif b/data/interiors/intermediate/tornadotoss.dif new file mode 100644 index 00000000..334c7980 Binary files /dev/null and b/data/interiors/intermediate/tornadotoss.dif differ diff --git a/data/interiors/intermediate/tree.dif b/data/interiors/intermediate/tree.dif new file mode 100644 index 00000000..e0e52020 Binary files /dev/null and b/data/interiors/intermediate/tree.dif differ diff --git a/data/interiors/intermediate/upward0.dif b/data/interiors/intermediate/upward0.dif new file mode 100644 index 00000000..d9c36f86 Binary files /dev/null and b/data/interiors/intermediate/upward0.dif differ diff --git a/data/interiors/intermediate/upward1.dif b/data/interiors/intermediate/upward1.dif new file mode 100644 index 00000000..16523bb2 Binary files /dev/null and b/data/interiors/intermediate/upward1.dif differ diff --git a/data/interiors/intermediate/upward2.dif b/data/interiors/intermediate/upward2.dif new file mode 100644 index 00000000..162751f7 Binary files /dev/null and b/data/interiors/intermediate/upward2.dif differ diff --git a/data/interiors/intermediate/upward3.dif b/data/interiors/intermediate/upward3.dif new file mode 100644 index 00000000..4f9027cc Binary files /dev/null and b/data/interiors/intermediate/upward3.dif differ diff --git a/data/interiors/intermediate/upward4.dif b/data/interiors/intermediate/upward4.dif new file mode 100644 index 00000000..d4d0b2c6 Binary files /dev/null and b/data/interiors/intermediate/upward4.dif differ diff --git a/data/interiors/intermediate/upward5.dif b/data/interiors/intermediate/upward5.dif new file mode 100644 index 00000000..bb4b31d1 Binary files /dev/null and b/data/interiors/intermediate/upward5.dif differ diff --git a/data/interiors/intermediate/wind_tunnel.dif b/data/interiors/intermediate/wind_tunnel.dif new file mode 100644 index 00000000..67c17f83 Binary files /dev/null and b/data/interiors/intermediate/wind_tunnel.dif differ diff --git a/data/interiors/levels/_ b/data/interiors/levels/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/boxes/_ b/data/interiors/parts/boxes/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/halftubes/blue_grid.jpg b/data/interiors/parts/halftubes/blue_grid.jpg new file mode 100644 index 00000000..c18dc713 Binary files /dev/null and b/data/interiors/parts/halftubes/blue_grid.jpg differ diff --git a/data/interiors/parts/halftubes/blue_grid2.jpg b/data/interiors/parts/halftubes/blue_grid2.jpg new file mode 100644 index 00000000..340cf221 Binary files /dev/null and b/data/interiors/parts/halftubes/blue_grid2.jpg differ diff --git a/data/interiors/parts/halftubes/halftube_long.dif b/data/interiors/parts/halftubes/halftube_long.dif new file mode 100644 index 00000000..be6504f9 Binary files /dev/null and b/data/interiors/parts/halftubes/halftube_long.dif differ diff --git a/data/interiors/parts/jumps/_ b/data/interiors/parts/jumps/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/obstacles/_ b/data/interiors/parts/obstacles/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/pads/_ b/data/interiors/parts/pads/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/platforms/_ b/data/interiors/parts/platforms/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/segments/_ b/data/interiors/parts/segments/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/parts/tubes/blue_grid.jpg b/data/interiors/parts/tubes/blue_grid.jpg new file mode 100644 index 00000000..ad9949c2 Binary files /dev/null and b/data/interiors/parts/tubes/blue_grid.jpg differ diff --git a/data/interiors/parts/tubes/blue_grid2.jpg b/data/interiors/parts/tubes/blue_grid2.jpg new file mode 100644 index 00000000..340cf221 Binary files /dev/null and b/data/interiors/parts/tubes/blue_grid2.jpg differ diff --git a/data/interiors/parts/tubes/tube_lintersect.dif b/data/interiors/parts/tubes/tube_lintersect.dif new file mode 100644 index 00000000..4bd268ea Binary files /dev/null and b/data/interiors/parts/tubes/tube_lintersect.dif differ diff --git a/data/interiors/parts/tubes/tube_long.dif b/data/interiors/parts/tubes/tube_long.dif new file mode 100644 index 00000000..09169fea Binary files /dev/null and b/data/interiors/parts/tubes/tube_long.dif differ diff --git a/data/interiors/parts/tubes/tube_turn.dif b/data/interiors/parts/tubes/tube_turn.dif new file mode 100644 index 00000000..dad141ad Binary files /dev/null and b/data/interiors/parts/tubes/tube_turn.dif differ diff --git a/data/interiors/parts/white.jpg b/data/interiors/parts/white.jpg new file mode 100644 index 00000000..f6e4e512 Binary files /dev/null and b/data/interiors/parts/white.jpg differ diff --git a/data/interiors/pattern_cool1.jpg b/data/interiors/pattern_cool1.jpg new file mode 100644 index 00000000..778bd219 Binary files /dev/null and b/data/interiors/pattern_cool1.jpg differ diff --git a/data/interiors/pattern_cool2.jpg b/data/interiors/pattern_cool2.jpg new file mode 100644 index 00000000..4ce70965 Binary files /dev/null and b/data/interiors/pattern_cool2.jpg differ diff --git a/data/interiors/pattern_neutral1.jpg b/data/interiors/pattern_neutral1.jpg new file mode 100644 index 00000000..00616343 Binary files /dev/null and b/data/interiors/pattern_neutral1.jpg differ diff --git a/data/interiors/pattern_neutral2.jpg b/data/interiors/pattern_neutral2.jpg new file mode 100644 index 00000000..ad2eb594 Binary files /dev/null and b/data/interiors/pattern_neutral2.jpg differ diff --git a/data/interiors/pattern_neutral3.jpg b/data/interiors/pattern_neutral3.jpg new file mode 100644 index 00000000..1c1dd2bc Binary files /dev/null and b/data/interiors/pattern_neutral3.jpg differ diff --git a/data/interiors/pattern_warm1.jpg b/data/interiors/pattern_warm1.jpg new file mode 100644 index 00000000..6b30c77d Binary files /dev/null and b/data/interiors/pattern_warm1.jpg differ diff --git a/data/interiors/pattern_warm2.jpg b/data/interiors/pattern_warm2.jpg new file mode 100644 index 00000000..540166c2 Binary files /dev/null and b/data/interiors/pattern_warm2.jpg differ diff --git a/data/interiors/pattern_warm3.jpg b/data/interiors/pattern_warm3.jpg new file mode 100644 index 00000000..c4b33720 Binary files /dev/null and b/data/interiors/pattern_warm3.jpg differ diff --git a/data/interiors/pattern_warm4.jpg b/data/interiors/pattern_warm4.jpg new file mode 100644 index 00000000..050d297c Binary files /dev/null and b/data/interiors/pattern_warm4.jpg differ diff --git a/data/interiors/quarksource/_ b/data/interiors/quarksource/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/solid_cool1.jpg b/data/interiors/solid_cool1.jpg new file mode 100644 index 00000000..72d0788e Binary files /dev/null and b/data/interiors/solid_cool1.jpg differ diff --git a/data/interiors/solid_cool2.jpg b/data/interiors/solid_cool2.jpg new file mode 100644 index 00000000..55d7e523 Binary files /dev/null and b/data/interiors/solid_cool2.jpg differ diff --git a/data/interiors/solid_neutral1.jpg b/data/interiors/solid_neutral1.jpg new file mode 100644 index 00000000..cdfeac73 Binary files /dev/null and b/data/interiors/solid_neutral1.jpg differ diff --git a/data/interiors/solid_neutral2.jpg b/data/interiors/solid_neutral2.jpg new file mode 100644 index 00000000..8ada486e Binary files /dev/null and b/data/interiors/solid_neutral2.jpg differ diff --git a/data/interiors/solid_warm1.jpg b/data/interiors/solid_warm1.jpg new file mode 100644 index 00000000..cd44f460 Binary files /dev/null and b/data/interiors/solid_warm1.jpg differ diff --git a/data/interiors/solid_warm2.jpg b/data/interiors/solid_warm2.jpg new file mode 100644 index 00000000..4fad07cf Binary files /dev/null and b/data/interiors/solid_warm2.jpg differ diff --git a/data/interiors/solid_white.jpg b/data/interiors/solid_white.jpg new file mode 100644 index 00000000..91d97ab1 Binary files /dev/null and b/data/interiors/solid_white.jpg differ diff --git a/data/interiors/stripe_caution.jpg b/data/interiors/stripe_caution.jpg new file mode 100644 index 00000000..2f790465 Binary files /dev/null and b/data/interiors/stripe_caution.jpg differ diff --git a/data/interiors/stripe_cool.jpg b/data/interiors/stripe_cool.jpg new file mode 100644 index 00000000..2494d3e6 Binary files /dev/null and b/data/interiors/stripe_cool.jpg differ diff --git a/data/interiors/stripe_cool2.jpg b/data/interiors/stripe_cool2.jpg new file mode 100644 index 00000000..9843b88b Binary files /dev/null and b/data/interiors/stripe_cool2.jpg differ diff --git a/data/interiors/stripe_neutral.jpg b/data/interiors/stripe_neutral.jpg new file mode 100644 index 00000000..cfdb05e3 Binary files /dev/null and b/data/interiors/stripe_neutral.jpg differ diff --git a/data/interiors/stripe_neutral2.jpg b/data/interiors/stripe_neutral2.jpg new file mode 100644 index 00000000..cd7de121 Binary files /dev/null and b/data/interiors/stripe_neutral2.jpg differ diff --git a/data/interiors/stripe_warm.jpg b/data/interiors/stripe_warm.jpg new file mode 100644 index 00000000..6797c65d Binary files /dev/null and b/data/interiors/stripe_warm.jpg differ diff --git a/data/interiors/stripe_warm2.jpg b/data/interiors/stripe_warm2.jpg new file mode 100644 index 00000000..10dbbe91 Binary files /dev/null and b/data/interiors/stripe_warm2.jpg differ diff --git a/data/interiors/test/maps/_ b/data/interiors/test/maps/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/texturesource/_ b/data/interiors/texturesource/_ new file mode 100644 index 00000000..e69de29b diff --git a/data/interiors/trim_cool1.jpg b/data/interiors/trim_cool1.jpg new file mode 100644 index 00000000..d2d7106b Binary files /dev/null and b/data/interiors/trim_cool1.jpg differ diff --git a/data/interiors/trim_cool2.jpg b/data/interiors/trim_cool2.jpg new file mode 100644 index 00000000..46c52bb8 Binary files /dev/null and b/data/interiors/trim_cool2.jpg differ diff --git a/data/interiors/trim_cool3.jpg b/data/interiors/trim_cool3.jpg new file mode 100644 index 00000000..dcfd35a8 Binary files /dev/null and b/data/interiors/trim_cool3.jpg differ diff --git a/data/interiors/trim_neutral1.jpg b/data/interiors/trim_neutral1.jpg new file mode 100644 index 00000000..af426739 Binary files /dev/null and b/data/interiors/trim_neutral1.jpg differ diff --git a/data/interiors/trim_neutral2.jpg b/data/interiors/trim_neutral2.jpg new file mode 100644 index 00000000..6c189ce5 Binary files /dev/null and b/data/interiors/trim_neutral2.jpg differ diff --git a/data/interiors/trim_warm1.jpg b/data/interiors/trim_warm1.jpg new file mode 100644 index 00000000..9cda4e92 Binary files /dev/null and b/data/interiors/trim_warm1.jpg differ diff --git a/data/interiors/trim_warm2.jpg b/data/interiors/trim_warm2.jpg new file mode 100644 index 00000000..9c69014a Binary files /dev/null and b/data/interiors/trim_warm2.jpg differ diff --git a/data/interiors/trim_white1.jpg b/data/interiors/trim_white1.jpg new file mode 100644 index 00000000..38d7f63a Binary files /dev/null and b/data/interiors/trim_white1.jpg differ diff --git a/data/interiors/trim_white2.jpg b/data/interiors/trim_white2.jpg new file mode 100644 index 00000000..ed5aaa57 Binary files /dev/null and b/data/interiors/trim_white2.jpg differ diff --git a/data/interiors/tube_cool.jpg b/data/interiors/tube_cool.jpg new file mode 100644 index 00000000..ad9949c2 Binary files /dev/null and b/data/interiors/tube_cool.jpg differ diff --git a/data/interiors/tube_neutral.jpg b/data/interiors/tube_neutral.jpg new file mode 100644 index 00000000..c18dc713 Binary files /dev/null and b/data/interiors/tube_neutral.jpg differ diff --git a/data/interiors/tube_warm.jpg b/data/interiors/tube_warm.jpg new file mode 100644 index 00000000..e12b811e Binary files /dev/null and b/data/interiors/tube_warm.jpg differ diff --git a/data/interiors/wall_cool1.jpg b/data/interiors/wall_cool1.jpg new file mode 100644 index 00000000..13af3708 Binary files /dev/null and b/data/interiors/wall_cool1.jpg differ diff --git a/data/interiors/wall_cool2.jpg b/data/interiors/wall_cool2.jpg new file mode 100644 index 00000000..b2ce12e8 Binary files /dev/null and b/data/interiors/wall_cool2.jpg differ diff --git a/data/interiors/wall_neutral1.jpg b/data/interiors/wall_neutral1.jpg new file mode 100644 index 00000000..ea31ecbc Binary files /dev/null and b/data/interiors/wall_neutral1.jpg differ diff --git a/data/interiors/wall_neutral2.jpg b/data/interiors/wall_neutral2.jpg new file mode 100644 index 00000000..75012498 Binary files /dev/null and b/data/interiors/wall_neutral2.jpg differ diff --git a/data/interiors/wall_neutral3.jpg b/data/interiors/wall_neutral3.jpg new file mode 100644 index 00000000..de0dccc9 Binary files /dev/null and b/data/interiors/wall_neutral3.jpg differ diff --git a/data/interiors/wall_warm1.jpg b/data/interiors/wall_warm1.jpg new file mode 100644 index 00000000..de271d65 Binary files /dev/null and b/data/interiors/wall_warm1.jpg differ diff --git a/data/interiors/wall_warm2.jpg b/data/interiors/wall_warm2.jpg new file mode 100644 index 00000000..d0788512 Binary files /dev/null and b/data/interiors/wall_warm2.jpg differ diff --git a/data/interiors/wall_warm3.jpg b/data/interiors/wall_warm3.jpg new file mode 100644 index 00000000..8c79279d Binary files /dev/null and b/data/interiors/wall_warm3.jpg differ diff --git a/data/interiors/wall_white.jpg b/data/interiors/wall_white.jpg new file mode 100644 index 00000000..7d2584e7 Binary files /dev/null and b/data/interiors/wall_white.jpg differ diff --git a/data/missions/custom/CheeseballxmRGM.mis b/data/missions/custom/CheeseballxmRGM.mis deleted file mode 100644 index ec852d25..00000000 --- a/data/missions/custom/CheeseballxmRGM.mis +++ /dev/null @@ -1,341 +0,0 @@ -//--- OBJECT WRITE BEGIN --- -new SimGroup(MissionGroup) { - - new ScriptObject(MissionInfo) { - type = "Custom"; - time = "0"; - name = "Cheeseballxm's RGM"; - desc = "do nothing."; - startHelpText = "do nothing"; - goldTime = "20000"; - artist = "Cheeseballxm"; - level = "9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"; - }; - new MissionArea(MissionArea) { - area = "-360 -648 720 1296"; - flightCeiling = "300"; - flightCeilingRange = "20"; - locked = "true"; - }; - new Sky(Sky) { - position = "336 136 0"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - cloudHeightPer[0] = "0.349971"; - cloudHeightPer[1] = "0.3"; - cloudHeightPer[2] = "0.199973"; - cloudSpeed1 = "0.0005"; - cloudSpeed2 = "0.001"; - cloudSpeed3 = "0.0003"; - visibleDistance = "500"; - useSkyTextures = "1"; - renderBottomTexture = "1"; - SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; - fogDistance = "300"; - fogColor = "0.600000 0.600000 0.600000 1.000000"; - fogVolume1 = "0 0 0"; - fogVolume2 = "0 0 0"; - fogVolume3 = "0 0 0"; - materialList = "~/data/skies/sky_day.dml"; - windVelocity = "1 1 0"; - windEffectPrecipitation = "1"; - noRenderBans = "1"; - fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; - fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; - fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; - locked = "true"; - }; - new Sun() { - direction = "0.488992 0.488992 -0.722339"; - color = "1.400000 1.200000 0.400000 1.000000"; - ambient = "0.300000 0.300000 0.300000 1.000000"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - locked = "true"; - position = "0 0 0"; - }; - new SimGroup(CheckPoints) { - - new StaticShape(StartPoint) { - position = "0 0 469.2"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "StartPad"; - }; - new StaticShape(EndPoint) { - position = "-7.6 -14.2 372.4"; - rotation = "1 0 0 0"; - scale = "2 1 1"; - dataBlock = "EndPad"; - }; - }; - new StaticShape() { - position = "0.0117704 0.485512 470.206"; - rotation = "-1 0 0 90"; - scale = "1 1 1"; - dataBlock = "SmallDuctFan"; - }; - new InteriorInstance() { - position = "0 0 469.4"; - rotation = "1 0 0 0"; - scale = "1 1 0.01"; - interiorFile = "~/data/interiors/intermediate/shockdrop.dif"; - showTerrainInside = "0"; - }; - new StaticShape() { - position = "3.77131 1.7896 499.223"; - rotation = "0 0 1 77.9222"; - scale = "1 1 1"; - dataBlock = "SignPlainDown"; - }; - new StaticShape() { - position = "-3.69219 -2.38053 499.223"; - rotation = "0 0 -1 110.581"; - scale = "1 1 1"; - dataBlock = "SignPlainDown"; - }; - new StaticShape() { - position = "0.0358018 -0.60514 368.454"; - rotation = "0 0 1 65.8901"; - scale = "1 1 1"; - dataBlock = "SignFinish"; - }; - new InteriorInstance() { - position = "2.05974 -14.1125 467.722"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/tube_space.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "2.00443 -26.994 465.689"; - rotation = "1 0 0 130"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/tube_space.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - pad = "4464"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - powerUp = "0"; - }; - new StaticShape() { - position = "-0.079323 -31.0868 455.217"; - rotation = "1 0 0 150"; - scale = "1 2 1.5"; - dataBlock = "TriangleBumper"; - }; - new InteriorInstance() { - position = "-0.0826001 -61.7717 450.773"; - rotation = "-1 0 0 105"; - scale = "0.5 1 0.7"; - interiorFile = "~/data/interiors/tubefriction.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "0.291167 -33.4517 455.788"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new Item() { - position = "0.0494782 -55.5934 448.631"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "-2.41491 -67.7896 438.989"; - rotation = "1 0 0 0"; - scale = "1 2 1"; - interiorFile = "~/data/interiors/tubefriction.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-4.56541 -66.9978 431.279"; - rotation = "1 0 0 30"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/tube_grass.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-2.2001 -72.6896 435.949"; - rotation = "1 0 0 0"; - scale = "1 1 10"; - interiorFile = "~/data/interiors/Tube_cution.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-4.27172 -62.5625 431.039"; - rotation = "1 0 0 0"; - scale = "0.5 2 1"; - interiorFile = "~/data/interiors/tubefriction.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-19.0007 -34.2774 421.147"; - rotation = "1 0 0 30"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/tube_lintersect.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-4.62949 -54.0981 426.576"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/tube_mud.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-9.45468 -27.8821 412.226"; - rotation = "1 0 0 170"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "-6.26079 -24.1659 413.198"; - rotation = "1 0 0 0"; - scale = "10 10 1"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - pad = "4613"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - powerUp = "0"; - }; - new InteriorInstance() { - position = "-10.6268 -21.0938 378.418"; - rotation = "1 0 0 15"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-10.6287 -16.777 375.26"; - rotation = "1 0 0 90"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-7.33496 -28.4319 396.808"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/Straw_long.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-10.6246 -18.3342 378.56"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-10.605 -13.8747 372.132"; - rotation = "1 0 0 30"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "-7.50898 -28.42 383.817"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "ShockAbsorberItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "-10.6738 -24.1293 378.426"; - rotation = "1 0 0 30"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-14.0677 -23.7199 412.463"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-9.35532 -21.6009 413.575"; - rotation = "1 0 0 90"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-6.3417 -21.0716 402.69"; - rotation = "1 0 0 0"; - scale = "1 2 1"; - interiorFile = "~/data/interiors/tubefriction.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-6.90984 -24.7902 412.74"; - rotation = "1 0 0 9.99997"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-3.96275 -21.2029 422.163"; - rotation = "1 0 0 0"; - scale = "0.01 1 20"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-9.4353 -21.5572 422.113"; - rotation = "1 0 0 0"; - scale = "0.01 1 20"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new StaticShape() { - position = "-10.2869 -31.919 413.104"; - rotation = "1 0 0 0"; - scale = "0.1 0.1 0.1"; - dataBlock = "Tornado"; - }; - new InteriorInstance() { - position = "-4.9513 -16.7454 383.463"; - rotation = "1 0 0 0"; - scale = "0.1 2 15"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "-11.2638 -16.5234 383.593"; - rotation = "1 0 0 0"; - scale = "0.1 2 15"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new AudioProfile(MusicProfile) { - fileName = "~/data/sound/Shell.ogg"; - description = "AudioMusic"; - preload = "0"; - }; -}; -//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/data/missions/custom/CheeseballxmRGM.png b/data/missions/custom/CheeseballxmRGM.png deleted file mode 100644 index 21173cd7..00000000 Binary files a/data/missions/custom/CheeseballxmRGM.png and /dev/null differ diff --git a/data/missions/custom/RGM.mis b/data/missions/custom/RGM.mis deleted file mode 100644 index f0f580f3..00000000 --- a/data/missions/custom/RGM.mis +++ /dev/null @@ -1,516 +0,0 @@ -//--- OBJECT WRITE BEGIN --- -new SimGroup(MissionGroup) { - - new ScriptObject(MissionInfo) { - startHelpText = "If you receive any powerups, activate them right away!"; - level = "66"; - type = "Custom"; - goldTime = "70000"; - name = "Andrew\'s RGM"; - artist = "Andrew Sears"; - desc = "Don\'t touch any controls!"; - }; - new MissionArea(MissionArea) { - area = "-360 -648 720 1296"; - flightCeiling = "300"; - flightCeilingRange = "20"; - locked = "true"; - }; - new Sky(Sky) { - position = "336 136 0"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - cloudHeightPer[0] = "0.349971"; - cloudHeightPer[1] = "0.3"; - cloudHeightPer[2] = "0.199973"; - cloudSpeed1 = "0.0005"; - cloudSpeed2 = "0.001"; - cloudSpeed3 = "0.0003"; - visibleDistance = "500"; - useSkyTextures = "1"; - renderBottomTexture = "1"; - SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; - fogDistance = "300"; - fogColor = "0.600000 0.600000 0.600000 1.000000"; - fogVolume1 = "0 0 0"; - fogVolume2 = "0 0 0"; - fogVolume3 = "0 0 0"; - materialList = "~/data/skies/sky_day.dml"; - windVelocity = "1 1 0"; - windEffectPrecipitation = "1"; - noRenderBans = "1"; - fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; - fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; - fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; - locked = "true"; - }; - new Sun() { - direction = "0.544508 0.439467 -0.714409"; - color = "1.400000 1.200000 0.400000 1.000000"; - ambient = "0.300000 0.300000 0.400000 1.000000"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - locked = "true"; - position = "0 0 0"; - }; - new Trigger(IBT) { - position = "110.521 -222.833 429.017"; - rotation = "1 0 0 0"; - scale = "400 250 500"; - dataBlock = "InBoundsTrigger"; - polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; - }; - new InteriorInstance() { - position = "329.414 -394.246 633.307"; - rotation = "1 0 0 45"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/backagain.dif"; - showTerrainInside = "0"; - }; - new StaticShape(StartPoint) { - position = "329.455 -437.101 677.547"; - rotation = "1 0 0 45"; - scale = "1 1 1"; - dataBlock = "StartPad"; - }; - new StaticShape() { - position = "329.383 -361.126 601.74"; - rotation = "1 0 0 0"; - scale = "4 4 2"; - dataBlock = "RoundBumper"; - }; - new InteriorInstance() { - position = "323.415 -263.632 586.783"; - rotation = "0 0 1 90"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/little_slope.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "327.526 -252.414 587.162"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/Wall2x2.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "327.508 -256.788 590.903"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "333.255 -305.827 567.559"; - rotation = "0 1 0 15"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/smallsquare.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "3687"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new InteriorInstance() { - position = "286.413 -307.539 563.273"; - rotation = "0 1 0 4.99997"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "263.141 -307.623 554.517"; - rotation = "0 1 0 20"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "297.86 -307.66 561.894"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "4534"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new InteriorInstance() { - position = "258.974 -304.517 548.632"; - rotation = "0 1 0 35"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "255.629 -307.793 548.632"; - rotation = "1 0 0 35"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "253.422 -304.509 552.2"; - rotation = "0 -1 0 35"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "255.663 -302.281 552.2"; - rotation = "-1 0 0 35"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/trapdoor.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "5349"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new Item() { - position = "259.063 -307.587 534.928"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new Item() { - position = "258.506 -307.632 510.024"; - rotation = "0 -1 0 90"; - scale = "3 3 3"; - dataBlock = "AntiGravityItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new Item() { - position = "270.007 -307.632 476.38"; - rotation = "1 0 0 0"; - scale = "4 4 4"; - dataBlock = "AntiGravityItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "331.139 -308.045 471.489"; - rotation = "0 1 0 20"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/training_time.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "372.208 -308.119 485.62"; - rotation = "1 0 0 180"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new Item() { - position = "450.487 -308.228 520.378"; - rotation = "1 0 0 180"; - scale = "3 3 3"; - dataBlock = "AntiGravityItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "460.195 -308.293 511.871"; - rotation = "0 0 1 90"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/Wall2x2.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "9569"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new Item() { - position = "400.699 -307.962 497.889"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "5607"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new StaticShape() { - position = "321.856 -307.67 468.965"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "Tornado"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "6688"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new StaticShape() { - position = "311.156 -307.67 472.027"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "Tornado"; - }; - new StaticShape() { - position = "301.228 -307.67 474.074"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "Tornado"; - }; - new Item() { - position = "199.857 -307.535 520.946"; - rotation = "1 0 0 0"; - scale = "4 4 4"; - dataBlock = "ShockAbsorberItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "182.598 -320.328 558.5"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/plat_slanted.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "180.234 -343.7 564.51"; - rotation = "1 0 0 0"; - scale = "1 5 1"; - interiorFile = "~/data/interiors/smallplatform.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "180.15 -355.992 596.441"; - rotation = "1 0 0 0"; - scale = "0.05 0.05 1"; - interiorFile = "~/data/interiors/freefall0.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "3601"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new InteriorInstance() { - position = "180.219 -327.162 562.51"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/plat_slanted.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "185.355 -306.532 550.519"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/plat_slanted.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "183.84 -313.399 554.501"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/plat_slanted.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "2866"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new Item() { - position = "185.11 -307.928 550.625"; - rotation = "1 0 0 180"; - scale = "3 3 3"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "4059"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new InteriorInstance() { - position = "185.911 -337.258 552.435"; - rotation = "0 0 -1 70"; - scale = "1 1 3"; - interiorFile = "~/data/interiors/8trim.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "180.146 -356.055 629.437"; - rotation = "1 0 0 180"; - scale = "1 1 1"; - dataBlock = "AntiGravityItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "179.898 -352.295 552.435"; - rotation = "0 0 1 70"; - scale = "1 1 3"; - interiorFile = "~/data/interiors/8trim.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "177.714 -355.881 552.435"; - rotation = "0 0 1 90"; - scale = "1 1 3"; - interiorFile = "~/data/interiors/8trim.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "178.623 -355.879 552.435"; - rotation = "0 0 1 90"; - scale = "1 1 3"; - interiorFile = "~/data/interiors/8trim.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "180.065 -356.033 654.747"; - rotation = "0 1 0 60"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/smallplatform.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "231.697 -356.033 632.898"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - interiorFile = "~/data/interiors/smallplatform.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "180.585 -355.766 653.585"; - rotation = "1 0 0 0"; - scale = "2 2 2"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "9559"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new Item() { - position = "204.228 -355.856 657.47"; - rotation = "1 0 0 0"; - scale = "3 3 3"; - dataBlock = "SuperBounceItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new InteriorInstance() { - position = "249.75 -356.275 643.529"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/platform_circle.dif"; - showTerrainInside = "0"; - }; - new InteriorInstance() { - position = "273.721 -355.028 641.139"; - rotation = "0 -1 0 9.99997"; - scale = "1 1 1"; - interiorFile = "~/data/interiors/platform_circle.dif"; - showTerrainInside = "0"; - }; - new Item() { - position = "279.549 -355.011 640.24"; - rotation = "1 0 0 0"; - scale = "4 4 4"; - dataBlock = "GemItem"; - collideable = "0"; - static = "1"; - rotate = "1"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "12376"; - bonusTime = "0"; - gemCount = "0"; - time = "0"; - penaltyTime = "0"; - }; - new StaticShape(EndPoint) { - position = "288.351 -354.233 606.804"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - dataBlock = "EndPad"; - }; - new InteriorInstance() { - position = "293.731 -356.785 598.765"; - rotation = "1 0 0 0"; - scale = "2 2 20"; - interiorFile = "~/data/interiors/castle_crate.dif"; - showTerrainInside = "0"; - }; - new ScriptObject() { - powerUp = "0"; - pad = "1782"; - bonusTime = "0"; - time = "0"; - gemCount = "0"; - penaltyTime = "0"; - }; - new AudioProfile(MusicProfile) { - fileName = "~/data/sound/Shell.ogg"; - description = "AudioMusic"; - preload = "0"; - }; -}; -//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/data/missions/custom/RGM.png b/data/missions/custom/RGM.png deleted file mode 100644 index 08a8cd85..00000000 Binary files a/data/missions/custom/RGM.png and /dev/null differ diff --git a/marblegame.hl b/marblegame.hl index bf60f5d0..5701695a 100644 Binary files a/marblegame.hl and b/marblegame.hl differ diff --git a/src/Marble.hx b/src/Marble.hx index 6b75f5fe..b877510e 100644 --- a/src/Marble.hx +++ b/src/Marble.hx @@ -484,7 +484,7 @@ class Marble extends GameObject { var soFar = 0.0; for (k in 0...contacts.length) { var dist = this._radius - contacts[k].contactDistance; - var timeToSeparate = 0.032; + var timeToSeparate = 0.048; if (dist >= 0) { var f1 = this.velocity.sub(contacts[k].velocity).add(dir.multiply(soFar)).dot(contacts[k].normal); var f2 = timeToSeparate * f1; diff --git a/src/Mission.hx b/src/Mission.hx index 558a8f95..6f75c6ea 100644 --- a/src/Mission.hx +++ b/src/Mission.hx @@ -1,5 +1,7 @@ package src; +import h2d.Tile; +import hxd.BitmapData; import mis.MisParser; import mis.MissionElement.MissionElementScriptObject; import mis.MissionElement.MissionElementType; @@ -56,7 +58,9 @@ class Mission { if (ResourceLoader.fileSystem.exists(basename + ".jpg")) { return ResourceLoader.getImage(basename + ".jpg").toTile(); } - return null; + var img = new BitmapData(1, 1); + img.setPixel(0, 0, 0); + return Tile.fromBitmap(img); } public function getDifPath(rawElementPath:String) { diff --git a/src/MissionList.hx b/src/MissionList.hx index 6562f7ce..e33851cb 100644 --- a/src/MissionList.hx +++ b/src/MissionList.hx @@ -7,6 +7,7 @@ class MissionList { static var beginnerMissions:Array; static var intermediateMissions:Array; static var advancedMissions:Array; + static var customMissions:Array; static var _build:Bool = false; @@ -33,6 +34,7 @@ class MissionList { beginnerMissions = parseDifficulty("beginner"); intermediateMissions = parseDifficulty("intermediate"); advancedMissions = parseDifficulty("advanced"); + customMissions = parseDifficulty("custom"); _build = true; } diff --git a/src/Settings.hx b/src/Settings.hx index 46f90b57..bb0b020d 100644 --- a/src/Settings.hx +++ b/src/Settings.hx @@ -76,6 +76,7 @@ class Settings { }; public static var progression = [0, 0, 0]; + public static var highscoreName = ""; public static function applySettings() { Window.getInstance().resize(optionsSettings.screenWidth, optionsSettings.screenHeight); @@ -110,7 +111,8 @@ class Settings { highScores: highScores, options: optionsSettings, controls: controlsSettings, - progression: progression + progression: progression, + highscoreName: highscoreName }; var json = Json.stringify(outputData); File.saveContent("settings.json", json); @@ -126,6 +128,7 @@ class Settings { optionsSettings = json.options; controlsSettings = json.controls; progression = json.progression; + highscoreName = json.highscoreName; } Window.getInstance().vsync = optionsSettings.vsync; } diff --git a/src/gui/EnterNameDlg.hx b/src/gui/EnterNameDlg.hx index 81d4f762..e5dadc6c 100644 --- a/src/gui/EnterNameDlg.hx +++ b/src/gui/EnterNameDlg.hx @@ -1,5 +1,6 @@ package gui; +import src.Settings; import hxd.res.BitmapFont; import h3d.Vector; import src.ResourceLoader; @@ -59,12 +60,14 @@ class EnterNameDlg extends GuiControl { var enterNameEdit = new GuiTextInput(domcasual32); enterNameEdit.position = new Vector(87, 136); enterNameEdit.extent = new Vector(255, 36); + enterNameEdit.text.text = Settings.highscoreName; var okbutton = new GuiButton(loadButtonImages("data/ui/common/ok")); okbutton.position = new Vector(163, 182); okbutton.extent = new Vector(78, 59); okbutton.pressedAction = (sender) -> { MarbleGame.canvas.popDialog(this); + Settings.highscoreName = enterNameEdit.text.text; okFunc(enterNameEdit.text.text); } dlg.addChild(okbutton); diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index c66dd9f2..c9c49c2b 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -1,5 +1,6 @@ package gui; +import hxd.Window; import h3d.shader.AlphaMult; import h3d.shader.ColorKey; import hxd.snd.WavData; @@ -20,6 +21,7 @@ import src.DtsObject; import h2d.Anim; import h2d.Bitmap; import src.ResourceLoader; +import src.MarbleGame; class PlayGui { var scene2d:h2d.Scene; @@ -52,6 +54,8 @@ class PlayGui { var playGuiCtrl:GuiControl; + var resizeEv:Void->Void; + public function dispose() { playGuiCtrl.dispose(); gemImageScene.dispose(); @@ -61,6 +65,7 @@ class PlayGui { powerupImageSceneTarget.dispose(); powerupImageSceneTargetBitmap.remove(); RSGOCenterText.remove(); + Window.getInstance().removeResizeEvent(resizeEv); } public function init(scene2d:h2d.Scene) { @@ -101,6 +106,13 @@ class PlayGui { initTexts(); playGuiCtrl.render(scene2d); + + resizeEv = () -> { + var wnd = Window.getInstance(); + playGuiCtrl.render(MarbleGame.canvas.scene2d); + }; + + Window.getInstance().addResizeEvent(resizeEv); } public function initTimer() { diff --git a/src/gui/PlayMissionGui.hx b/src/gui/PlayMissionGui.hx index d875a5c1..62b2f0a6 100644 --- a/src/gui/PlayMissionGui.hx +++ b/src/gui/PlayMissionGui.hx @@ -77,6 +77,12 @@ class PlayMissionGui extends GuiImage { var tabCustom = new GuiImage(ResourceLoader.getImage("data/ui/play/cust_tab.png").toTile()); tabCustom.position = new Vector(589, 91); tabCustom.extent = new Vector(52, 198); + tabCustom.pressedAction = (sender) -> { + currentList = MissionList.customMissions; + currentCategory = "custom"; + setSelectedFunc(currentList.length - 1); + setCategoryFunc("custom"); + } localContainer.addChild(tabCustom); var pmBox = new GuiImage(ResourceLoader.getImage("data/ui/play/playgui.png").toTile()); @@ -262,6 +268,13 @@ class PlayMissionGui extends GuiImage { localContainer.addChild(pmBox); localContainer.addChild(tabAdvanced); } + if (category == "custom") { + localContainer.addChild(tabBeginner); + localContainer.addChild(tabIntermediate); + localContainer.addChild(tabAdvanced); + localContainer.addChild(pmBox); + localContainer.addChild(tabCustom); + } this.render(cast(this.parent, Canvas).scene2d); } @@ -303,16 +316,19 @@ class PlayMissionGui extends GuiImage { currentSelection = index; + var currentMission = currentList[currentSelection]; + if (index == 0) { pmPrev.disabled = true; } else pmPrev.disabled = false; - if (index == currentList.length - 1) { + if (index == Math.max(currentList.length - 1, 0)) { pmNext.disabled = true; } else pmNext.disabled = false; - if (Settings.progression[["beginner", "intermediate", "advanced"].indexOf(currentCategory)] < currentSelection) { + if (currentCategory != "custom" + && Settings.progression[["beginner", "intermediate", "advanced"].indexOf(currentCategory)] < currentSelection) { noQualText.text.visible = true; filt.matrix.identity(); filt.matrix.colorGain(0, 96 / 255); @@ -323,7 +339,19 @@ class PlayMissionGui extends GuiImage { pmPlay.disabled = false; } - var currentMission = currentList[currentSelection]; + if (currentMission == null) { + noQualText.text.visible = true; + filt.matrix.identity(); + filt.matrix.colorGain(0, 96 / 255); + pmPlay.disabled = true; + } + + if (currentMission == null) { + currentMission = new Mission(); + currentMission.title = ""; + currentMission.description = ""; + currentMission.path = "bruh"; + } var scoreData:Array = Settings.getScores(currentMission.path); while (scoreData.length < 3) {