diff --git a/data/particles/burst.png b/data/particles/burst.png index 29fc40c8..8c21515e 100644 Binary files a/data/particles/burst.png and b/data/particles/burst.png differ diff --git a/data/shapes/balls/3dMarble.dts b/data/shapes/balls/3dMarble.dts deleted file mode 100644 index 0f21cf97..00000000 Binary files a/data/shapes/balls/3dMarble.dts and /dev/null differ diff --git a/data/shapes/balls/3dmarble_tex.png b/data/shapes/balls/3dmarble_tex.png deleted file mode 100644 index 7e447b98..00000000 Binary files a/data/shapes/balls/3dmarble_tex.png and /dev/null differ diff --git a/data/shapes/balls/BigBall1_tex.png b/data/shapes/balls/BigBall1_tex.png deleted file mode 100644 index 75273de4..00000000 Binary files a/data/shapes/balls/BigBall1_tex.png and /dev/null differ diff --git a/data/shapes/balls/BigBall2_tex.png b/data/shapes/balls/BigBall2_tex.png deleted file mode 100644 index badc7644..00000000 Binary files a/data/shapes/balls/BigBall2_tex.png and /dev/null differ diff --git a/data/shapes/balls/BigBall3_tex.png b/data/shapes/balls/BigBall3_tex.png deleted file mode 100644 index add32e12..00000000 Binary files a/data/shapes/balls/BigBall3_tex.png and /dev/null differ diff --git a/data/shapes/balls/GGMarble.marble.png b/data/shapes/balls/GGMarble.marble.png deleted file mode 100644 index b28ebc0f..00000000 Binary files a/data/shapes/balls/GGMarble.marble.png and /dev/null differ diff --git a/data/shapes/balls/GGMarble.png b/data/shapes/balls/GGMarble.png deleted file mode 100644 index b28ebc0f..00000000 Binary files a/data/shapes/balls/GGMarble.png and /dev/null differ diff --git a/data/shapes/balls/Platinumball-tex.png b/data/shapes/balls/Platinumball-tex.png deleted file mode 100644 index 2cda0fe1..00000000 Binary files a/data/shapes/balls/Platinumball-tex.png and /dev/null differ diff --git a/data/shapes/balls/SmallBall1.png b/data/shapes/balls/SmallBall1.png deleted file mode 100644 index 3c42dae9..00000000 Binary files a/data/shapes/balls/SmallBall1.png and /dev/null differ diff --git a/data/shapes/balls/SmallBall2.png b/data/shapes/balls/SmallBall2.png deleted file mode 100644 index 2c724f74..00000000 Binary files a/data/shapes/balls/SmallBall2.png and /dev/null differ diff --git a/data/shapes/balls/SmallBall3.png b/data/shapes/balls/SmallBall3.png deleted file mode 100644 index 050928a2..00000000 Binary files a/data/shapes/balls/SmallBall3.png and /dev/null differ diff --git a/data/shapes/balls/ball-superball.dts b/data/shapes/balls/ball-superball.dts deleted file mode 100644 index 4957bfb1..00000000 Binary files a/data/shapes/balls/ball-superball.dts and /dev/null differ diff --git a/data/shapes/balls/base.ghost.png b/data/shapes/balls/base.ghost.png deleted file mode 100644 index 033c5346..00000000 Binary files a/data/shapes/balls/base.ghost.png and /dev/null differ diff --git a/data/shapes/balls/base.marble.png b/data/shapes/balls/base.marble.png deleted file mode 100644 index afab15de..00000000 Binary files a/data/shapes/balls/base.marble.png and /dev/null differ diff --git a/data/shapes/balls/bm1.dts b/data/shapes/balls/bm1.dts deleted file mode 100644 index 586e7eeb..00000000 Binary files a/data/shapes/balls/bm1.dts and /dev/null differ diff --git a/data/shapes/balls/bm2.dts b/data/shapes/balls/bm2.dts deleted file mode 100644 index edded373..00000000 Binary files a/data/shapes/balls/bm2.dts and /dev/null differ diff --git a/data/shapes/balls/bm3.dts b/data/shapes/balls/bm3.dts deleted file mode 100644 index 824e0a98..00000000 Binary files a/data/shapes/balls/bm3.dts and /dev/null differ diff --git a/data/shapes/balls/garageGames.dts b/data/shapes/balls/garageGames.dts deleted file mode 100644 index cb442003..00000000 Binary files a/data/shapes/balls/garageGames.dts and /dev/null differ diff --git a/data/shapes/balls/pack1/pack1marble.dts b/data/shapes/balls/marble01.dts similarity index 99% rename from data/shapes/balls/pack1/pack1marble.dts rename to data/shapes/balls/marble01.dts index dff044f8..58eff45b 100644 Binary files a/data/shapes/balls/pack1/pack1marble.dts and b/data/shapes/balls/marble01.dts differ diff --git a/data/shapes/balls/pack1/marble01.normal.png b/data/shapes/balls/marble01.normal.png similarity index 100% rename from data/shapes/balls/pack1/marble01.normal.png rename to data/shapes/balls/marble01.normal.png diff --git a/data/shapes/balls/pack1/uskin1.marble.png b/data/shapes/balls/marble01.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin1.marble.png rename to data/shapes/balls/marble01.skin.png diff --git a/data/shapes/balls/marble02.dts b/data/shapes/balls/marble02.dts new file mode 100644 index 00000000..d42a3d2b Binary files /dev/null and b/data/shapes/balls/marble02.dts differ diff --git a/data/shapes/balls/pack1/marble02.normal.png b/data/shapes/balls/marble02.normal.png similarity index 100% rename from data/shapes/balls/pack1/marble02.normal.png rename to data/shapes/balls/marble02.normal.png diff --git a/data/shapes/balls/marble02.skin.png b/data/shapes/balls/marble02.skin.png new file mode 100644 index 00000000..537bf73c Binary files /dev/null and b/data/shapes/balls/marble02.skin.png differ diff --git a/data/shapes/balls/marble03.dts b/data/shapes/balls/marble03.dts new file mode 100644 index 00000000..a8125b5e Binary files /dev/null and b/data/shapes/balls/marble03.dts differ diff --git a/data/shapes/balls/pack1/uskin3.marble.png b/data/shapes/balls/marble03.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin3.marble.png rename to data/shapes/balls/marble03.skin.png diff --git a/data/shapes/balls/marble04.dts b/data/shapes/balls/marble04.dts new file mode 100644 index 00000000..4e815ac6 Binary files /dev/null and b/data/shapes/balls/marble04.dts differ diff --git a/data/shapes/balls/pack1/uskin4.marble.png b/data/shapes/balls/marble04.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin4.marble.png rename to data/shapes/balls/marble04.skin.png diff --git a/data/shapes/balls/marble05.dts b/data/shapes/balls/marble05.dts new file mode 100644 index 00000000..55173846 Binary files /dev/null and b/data/shapes/balls/marble05.dts differ diff --git a/data/shapes/balls/pack1/uskin5.marble.png b/data/shapes/balls/marble05.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin5.marble.png rename to data/shapes/balls/marble05.skin.png diff --git a/data/shapes/balls/marble06.dts b/data/shapes/balls/marble06.dts new file mode 100644 index 00000000..744f896d Binary files /dev/null and b/data/shapes/balls/marble06.dts differ diff --git a/data/shapes/balls/pack1/uskin6.marble.png b/data/shapes/balls/marble06.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin6.marble.png rename to data/shapes/balls/marble06.skin.png diff --git a/data/shapes/balls/marble07.dts b/data/shapes/balls/marble07.dts new file mode 100644 index 00000000..2239bed3 Binary files /dev/null and b/data/shapes/balls/marble07.dts differ diff --git a/data/shapes/balls/pack1/uskin7.marble.png b/data/shapes/balls/marble07.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin7.marble.png rename to data/shapes/balls/marble07.skin.png diff --git a/data/shapes/balls/marble08.dts b/data/shapes/balls/marble08.dts new file mode 100644 index 00000000..382f1084 Binary files /dev/null and b/data/shapes/balls/marble08.dts differ diff --git a/data/shapes/balls/marble08.skin.png b/data/shapes/balls/marble08.skin.png new file mode 100644 index 00000000..488473da Binary files /dev/null and b/data/shapes/balls/marble08.skin.png differ diff --git a/data/shapes/balls/marble09.dts b/data/shapes/balls/marble09.dts new file mode 100644 index 00000000..e5851225 Binary files /dev/null and b/data/shapes/balls/marble09.dts differ diff --git a/data/shapes/balls/pack1/uskin9.marble.png b/data/shapes/balls/marble09.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin9.marble.png rename to data/shapes/balls/marble09.skin.png diff --git a/data/shapes/balls/marble10.dts b/data/shapes/balls/marble10.dts new file mode 100644 index 00000000..9a8eb526 Binary files /dev/null and b/data/shapes/balls/marble10.dts differ diff --git a/data/shapes/balls/pack1/uskin10.marble.png b/data/shapes/balls/marble10.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin10.marble.png rename to data/shapes/balls/marble10.skin.png diff --git a/data/shapes/balls/marble11.dts b/data/shapes/balls/marble11.dts new file mode 100644 index 00000000..f67c8b5a Binary files /dev/null and b/data/shapes/balls/marble11.dts differ diff --git a/data/shapes/balls/pack1/uskin11.marble.png b/data/shapes/balls/marble11.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin11.marble.png rename to data/shapes/balls/marble11.skin.png diff --git a/data/shapes/balls/marble12.dts b/data/shapes/balls/marble12.dts new file mode 100644 index 00000000..ea053d68 Binary files /dev/null and b/data/shapes/balls/marble12.dts differ diff --git a/data/shapes/balls/pack1/uskin12.marble.png b/data/shapes/balls/marble12.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin12.marble.png rename to data/shapes/balls/marble12.skin.png diff --git a/data/shapes/balls/marble13.dts b/data/shapes/balls/marble13.dts new file mode 100644 index 00000000..597620b0 Binary files /dev/null and b/data/shapes/balls/marble13.dts differ diff --git a/data/shapes/balls/pack1/uskin13.marble.png b/data/shapes/balls/marble13.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin13.marble.png rename to data/shapes/balls/marble13.skin.png diff --git a/data/shapes/balls/marble14.dts b/data/shapes/balls/marble14.dts new file mode 100644 index 00000000..e4e1593f Binary files /dev/null and b/data/shapes/balls/marble14.dts differ diff --git a/data/shapes/balls/pack1/uskin14.marble.png b/data/shapes/balls/marble14.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin14.marble.png rename to data/shapes/balls/marble14.skin.png diff --git a/data/shapes/balls/marble15.dts b/data/shapes/balls/marble15.dts new file mode 100644 index 00000000..32567a3c Binary files /dev/null and b/data/shapes/balls/marble15.dts differ diff --git a/data/shapes/balls/pack1/uskin15.marble.png b/data/shapes/balls/marble15.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin15.marble.png rename to data/shapes/balls/marble15.skin.png diff --git a/data/shapes/balls/marble16.dts b/data/shapes/balls/marble16.dts new file mode 100644 index 00000000..92e546ef Binary files /dev/null and b/data/shapes/balls/marble16.dts differ diff --git a/data/shapes/balls/pack1/uskin16.marble.png b/data/shapes/balls/marble16.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin16.marble.png rename to data/shapes/balls/marble16.skin.png diff --git a/data/shapes/balls/marble17.dts b/data/shapes/balls/marble17.dts new file mode 100644 index 00000000..e6600985 Binary files /dev/null and b/data/shapes/balls/marble17.dts differ diff --git a/data/shapes/balls/pack1/uskin17.marble.png b/data/shapes/balls/marble17.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin17.marble.png rename to data/shapes/balls/marble17.skin.png diff --git a/data/shapes/balls/marble18.dts b/data/shapes/balls/marble18.dts new file mode 100644 index 00000000..519611d0 Binary files /dev/null and b/data/shapes/balls/marble18.dts differ diff --git a/data/shapes/balls/pack1/marble18.normal.png b/data/shapes/balls/marble18.normal.png similarity index 100% rename from data/shapes/balls/pack1/marble18.normal.png rename to data/shapes/balls/marble18.normal.png diff --git a/data/shapes/balls/pack1/uskin26.marble.png b/data/shapes/balls/marble18.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin26.marble.png rename to data/shapes/balls/marble18.skin.png diff --git a/data/shapes/balls/marble19.dts b/data/shapes/balls/marble19.dts new file mode 100644 index 00000000..b59584d8 Binary files /dev/null and b/data/shapes/balls/marble19.dts differ diff --git a/data/shapes/balls/pack1/uskin19.marble.png b/data/shapes/balls/marble19.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin19.marble.png rename to data/shapes/balls/marble19.skin.png diff --git a/data/shapes/balls/marble20.dts b/data/shapes/balls/marble20.dts new file mode 100644 index 00000000..20832366 Binary files /dev/null and b/data/shapes/balls/marble20.dts differ diff --git a/data/shapes/balls/pack1/marble20.normal.png b/data/shapes/balls/marble20.normal.png similarity index 100% rename from data/shapes/balls/pack1/marble20.normal.png rename to data/shapes/balls/marble20.normal.png diff --git a/data/shapes/balls/pack1/uskin20.marble.png b/data/shapes/balls/marble20.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin20.marble.png rename to data/shapes/balls/marble20.skin.png diff --git a/data/shapes/balls/marble21.dts b/data/shapes/balls/marble21.dts new file mode 100644 index 00000000..8f9a2841 Binary files /dev/null and b/data/shapes/balls/marble21.dts differ diff --git a/data/shapes/balls/pack1/uskin21.marble.png b/data/shapes/balls/marble21.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin21.marble.png rename to data/shapes/balls/marble21.skin.png diff --git a/data/shapes/balls/marble22.dts b/data/shapes/balls/marble22.dts new file mode 100644 index 00000000..61054b5a Binary files /dev/null and b/data/shapes/balls/marble22.dts differ diff --git a/data/shapes/balls/pack1/uskin22.marble.png b/data/shapes/balls/marble22.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin22.marble.png rename to data/shapes/balls/marble22.skin.png diff --git a/data/shapes/balls/marble23.dts b/data/shapes/balls/marble23.dts new file mode 100644 index 00000000..11a65822 Binary files /dev/null and b/data/shapes/balls/marble23.dts differ diff --git a/data/shapes/balls/pack1/uskin23.marble.png b/data/shapes/balls/marble23.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin23.marble.png rename to data/shapes/balls/marble23.skin.png diff --git a/data/shapes/balls/marble24.dts b/data/shapes/balls/marble24.dts new file mode 100644 index 00000000..498afee3 Binary files /dev/null and b/data/shapes/balls/marble24.dts differ diff --git a/data/shapes/balls/pack1/uskin24.marble.png b/data/shapes/balls/marble24.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin24.marble.png rename to data/shapes/balls/marble24.skin.png diff --git a/data/shapes/balls/marble25.dts b/data/shapes/balls/marble25.dts new file mode 100644 index 00000000..02a4e6d6 Binary files /dev/null and b/data/shapes/balls/marble25.dts differ diff --git a/data/shapes/balls/pack1/uskin25.marble.png b/data/shapes/balls/marble25.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin25.marble.png rename to data/shapes/balls/marble25.skin.png diff --git a/data/shapes/balls/marble26.dts b/data/shapes/balls/marble26.dts new file mode 100644 index 00000000..dd5ce85c Binary files /dev/null and b/data/shapes/balls/marble26.dts differ diff --git a/data/shapes/balls/pack1/uskin8.marble.png b/data/shapes/balls/marble26.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin8.marble.png rename to data/shapes/balls/marble26.skin.png diff --git a/data/shapes/balls/marble27.dts b/data/shapes/balls/marble27.dts new file mode 100644 index 00000000..50564f6e Binary files /dev/null and b/data/shapes/balls/marble27.dts differ diff --git a/data/shapes/balls/pack1/uskin27.marble.png b/data/shapes/balls/marble27.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin27.marble.png rename to data/shapes/balls/marble27.skin.png diff --git a/data/shapes/balls/marble28.dts b/data/shapes/balls/marble28.dts new file mode 100644 index 00000000..fe7cdc9d Binary files /dev/null and b/data/shapes/balls/marble28.dts differ diff --git a/data/shapes/balls/marble28.skin.png b/data/shapes/balls/marble28.skin.png new file mode 100644 index 00000000..b277f5e1 Binary files /dev/null and b/data/shapes/balls/marble28.skin.png differ diff --git a/data/shapes/balls/marble29.dts b/data/shapes/balls/marble29.dts new file mode 100644 index 00000000..7f2210c4 Binary files /dev/null and b/data/shapes/balls/marble29.dts differ diff --git a/data/shapes/balls/marble29.skin.png b/data/shapes/balls/marble29.skin.png new file mode 100644 index 00000000..fca6fc8f Binary files /dev/null and b/data/shapes/balls/marble29.skin.png differ diff --git a/data/shapes/balls/marble30.dts b/data/shapes/balls/marble30.dts new file mode 100644 index 00000000..42049e64 Binary files /dev/null and b/data/shapes/balls/marble30.dts differ diff --git a/data/shapes/balls/pack1/uskin28.marble.png b/data/shapes/balls/marble30.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin28.marble.png rename to data/shapes/balls/marble30.skin.png diff --git a/data/shapes/balls/marble31.dts b/data/shapes/balls/marble31.dts new file mode 100644 index 00000000..2fe900cf Binary files /dev/null and b/data/shapes/balls/marble31.dts differ diff --git a/data/shapes/balls/pack1/uskin29.marble.png b/data/shapes/balls/marble31.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin29.marble.png rename to data/shapes/balls/marble31.skin.png diff --git a/data/shapes/balls/marble32.dts b/data/shapes/balls/marble32.dts new file mode 100644 index 00000000..c843672a Binary files /dev/null and b/data/shapes/balls/marble32.dts differ diff --git a/data/shapes/balls/pack1/uskin30.marble.png b/data/shapes/balls/marble32.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin30.marble.png rename to data/shapes/balls/marble32.skin.png diff --git a/data/shapes/balls/marble33.dts b/data/shapes/balls/marble33.dts new file mode 100644 index 00000000..14cef35f Binary files /dev/null and b/data/shapes/balls/marble33.dts differ diff --git a/data/shapes/balls/pack1/uskin31.marble.png b/data/shapes/balls/marble33.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin31.marble.png rename to data/shapes/balls/marble33.skin.png diff --git a/data/shapes/balls/marble34.dts b/data/shapes/balls/marble34.dts new file mode 100644 index 00000000..1adbdd4a Binary files /dev/null and b/data/shapes/balls/marble34.dts differ diff --git a/data/shapes/balls/pack1/uskin32.marble.png b/data/shapes/balls/marble34.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin32.marble.png rename to data/shapes/balls/marble34.skin.png diff --git a/data/shapes/balls/marble35.dts b/data/shapes/balls/marble35.dts new file mode 100644 index 00000000..3face14d Binary files /dev/null and b/data/shapes/balls/marble35.dts differ diff --git a/data/shapes/balls/pack1/uskin33.marble.png b/data/shapes/balls/marble35.skin.png similarity index 100% rename from data/shapes/balls/pack1/uskin33.marble.png rename to data/shapes/balls/marble35.skin.png diff --git a/data/shapes/balls/pack1/marblefx.normal.png b/data/shapes/balls/marblefx.normal.png similarity index 100% rename from data/shapes/balls/pack1/marblefx.normal.png rename to data/shapes/balls/marblefx.normal.png diff --git a/data/shapes/balls/mid-p_tex.png b/data/shapes/balls/mid-p_tex.png deleted file mode 100644 index 2cda0fe1..00000000 Binary files a/data/shapes/balls/mid-p_tex.png and /dev/null differ diff --git a/data/shapes/balls/midp.dts b/data/shapes/balls/midp.dts deleted file mode 100644 index 5fd2263f..00000000 Binary files a/data/shapes/balls/midp.dts and /dev/null differ diff --git a/data/shapes/balls/pack1/base.marble.png b/data/shapes/balls/pack1/base.marble.png deleted file mode 100644 index c285decb..00000000 Binary files a/data/shapes/balls/pack1/base.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/pack.json b/data/shapes/balls/pack1/pack.json deleted file mode 100644 index 1ca8cd17..00000000 --- a/data/shapes/balls/pack1/pack.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "Ultra", - "marbles": [ - {"name": "Deep Blue", "shape": "pack1marble.dts", "skin": "uskin1", "normalize": true}, - {"name": "Blood Red", "shape": "pack1marble.dts", "skin": "uskin2", "normalize": true}, - {"name": "Gang Green", "shape": "pack1marble.dts", "skin": "uskin6", "normalize": true}, - {"name": "Pink Candy", "shape": "pack1marble.dts", "skin": "uskin27", "normalize": true}, - {"name": "Chocolate", "shape": "pack1marble.dts", "skin": "uskin5", "normalize": true}, - {"name": "Grape", "shape": "pack1marble.dts", "skin": "uskin4", "normalize": true}, - {"name": "Lemon", "shape": "pack1marble.dts", "skin": "uskin28", "normalize": true}, - {"name": "Lime Green", "shape": "pack1marble.dts", "skin": "uskin8", "normalize": true}, - {"name": "Blueberry", "shape": "pack1marble.dts", "skin": "uskin7", "normalize": true}, - {"name": "Tangerine", "shape": "pack1marble.dts", "skin": "uskin3", "normalize": true}, - {"name": "8 Ball", "shape": "pack1marble.dts", "skin": "uskin9", "normalize": true}, - {"name": "Ace of Hearts", "shape": "pack1marble.dts", "skin": "uskin22", "normalize": true}, - {"name": "Football", "shape": "pack1marble.dts", "skin": "uskin16", "normalize": true}, - {"name": "9 Ball", "shape": "pack1marble.dts", "skin": "uskin29", "normalize": true}, - {"name": "Ace of Spades", "shape": "pack1marble.dts", "skin": "uskin24", "normalize": true}, - {"name": "GarageGames", "shape": "pack1marble.dts", "skin": "uskin10", "normalize": true, "shaderV": "platinum/data/shaders/sphereV.glsl", "shaderF": "platinum/data/shaders/sphere_fullF.glsl"}, - {"name": "Bob", "shape": "pack1marble.dts", "skin": "uskin30", "normalize": true}, - {"name": "Skully", "shape": "pack1marble.dts", "skin": "uskin18", "normalize": true}, - {"name": "Jack-o-Lantern", "shape": "pack1marble.dts", "skin": "uskin34", "normalize": true}, - {"name": "Walled Up", "shape": "pack1marble.dts", "skin": "uskin25", "normalize": true}, - {"name": "Sunny Side Up", "shape": "pack1marble.dts", "skin": "uskin11", "normalize": true, "shaderV": "platinum/data/shaders/sphereV.glsl", "shaderF": "platinum/data/shaders/sphere_glassF.glsl"}, - {"name": "Lunar", "shape": "pack1marble.dts", "skin": "uskin31", "normalize": true, "shaderV": "platinum/data/shaders/sphereV.glsl", "shaderF": "platinum/data/shaders/sphere_glassF.glsl"}, - {"name": "Battery", "shape": "pack1marble.dts", "skin": "uskin14", "normalize": true}, - {"name": "Static", "shape": "pack1marble.dts", "skin": "uskin32", "normalize": true, "shaderV": "platinum/data/shaders/sphereV.glsl", "shaderF": "platinum/data/shaders/sphere_fullF.glsl"}, - {"name": "Earth", "shape": "pack1marble.dts", "skin": "uskin20", "normalize": true}, - {"name": "Red and X", "shape": "pack1marble.dts", "skin": "uskin13", "normalize": true}, - {"name": "Orange Spiral", "shape": "pack1marble.dts", "skin": "uskin12", "normalize": true}, - {"name": "Blue Spiral", "shape": "pack1marble.dts", "skin": "uskin15", "normalize": true}, - {"name": "Sliced Marble", "shape": "pack1marble.dts", "skin": "uskin21", "normalize": true}, - {"name": "Orange Checkers", "shape": "pack1marble.dts", "skin": "uskin19", "normalize": true}, - {"name": "Torque", "shape": "pack1marble.dts", "skin": "uskin33", "normalize": true}, - {"name": "Fred", "shape": "pack1marble.dts", "skin": "uskin17", "normalize": true}, - {"name": "Pirate", "shape": "pack1marble.dts", "skin": "uskin26", "normalize": true}, - {"name": "Shuriken", "shape": "pack1marble.dts", "skin": "uskin23", "normalize": true}, - {"name": "Eyeball", "shape": "pack1marble.dts", "skin": "uskin35", "normalize": true}, - {"name": "Woody", "shape": "pack1marble.dts", "skin": "uskin36", "normalize": true}, - {"name": "Dat Nostalgia", "shape": "pack1marble.dts", "skin": "uskin37", "normalize": true}, - {"name": "Graffiti", "shape": "pack1marble.dts", "skin": "uskin38", "normalize": true}, - {"name": "Asteroid", "shape": "pack1marble.dts", "skin": "uskin39", "normalize": true}, - {"name": "Disco Ball", "shape": "pack1marble.dts", "skin": "uskin40", "normalize": true} - ] -} \ No newline at end of file diff --git a/data/shapes/balls/pack1/uskin18.marble.png b/data/shapes/balls/pack1/uskin18.marble.png deleted file mode 100644 index 1ec1ab87..00000000 Binary files a/data/shapes/balls/pack1/uskin18.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin2.marble.png b/data/shapes/balls/pack1/uskin2.marble.png deleted file mode 100644 index a83320ae..00000000 Binary files a/data/shapes/balls/pack1/uskin2.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin34.marble.png b/data/shapes/balls/pack1/uskin34.marble.png deleted file mode 100644 index cf229e37..00000000 Binary files a/data/shapes/balls/pack1/uskin34.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin35.marble.png b/data/shapes/balls/pack1/uskin35.marble.png deleted file mode 100644 index 74f34bac..00000000 Binary files a/data/shapes/balls/pack1/uskin35.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin36.marble.png b/data/shapes/balls/pack1/uskin36.marble.png deleted file mode 100644 index 8cfda707..00000000 Binary files a/data/shapes/balls/pack1/uskin36.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin37.marble.png b/data/shapes/balls/pack1/uskin37.marble.png deleted file mode 100644 index 114d9837..00000000 Binary files a/data/shapes/balls/pack1/uskin37.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin38.marble.png b/data/shapes/balls/pack1/uskin38.marble.png deleted file mode 100644 index 24222959..00000000 Binary files a/data/shapes/balls/pack1/uskin38.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin39.marble.png b/data/shapes/balls/pack1/uskin39.marble.png deleted file mode 100644 index d545f234..00000000 Binary files a/data/shapes/balls/pack1/uskin39.marble.png and /dev/null differ diff --git a/data/shapes/balls/pack1/uskin40.marble.png b/data/shapes/balls/pack1/uskin40.marble.png deleted file mode 100644 index c98d8703..00000000 Binary files a/data/shapes/balls/pack1/uskin40.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin10.marble.png b/data/shapes/balls/skin10.marble.png deleted file mode 100644 index 2484d2d5..00000000 Binary files a/data/shapes/balls/skin10.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin11.marble.png b/data/shapes/balls/skin11.marble.png deleted file mode 100644 index 840cdc99..00000000 Binary files a/data/shapes/balls/skin11.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin12.marble.png b/data/shapes/balls/skin12.marble.png deleted file mode 100644 index 31664838..00000000 Binary files a/data/shapes/balls/skin12.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin13.marble.png b/data/shapes/balls/skin13.marble.png deleted file mode 100644 index d4557e20..00000000 Binary files a/data/shapes/balls/skin13.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin14.marble.png b/data/shapes/balls/skin14.marble.png deleted file mode 100644 index 62090805..00000000 Binary files a/data/shapes/balls/skin14.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin15.marble.png b/data/shapes/balls/skin15.marble.png deleted file mode 100644 index dbcbd7af..00000000 Binary files a/data/shapes/balls/skin15.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin16.marble.png b/data/shapes/balls/skin16.marble.png deleted file mode 100644 index e5800968..00000000 Binary files a/data/shapes/balls/skin16.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin17.marble.png b/data/shapes/balls/skin17.marble.png deleted file mode 100644 index dde5bfc2..00000000 Binary files a/data/shapes/balls/skin17.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin18.marble.png b/data/shapes/balls/skin18.marble.png deleted file mode 100644 index 58561d83..00000000 Binary files a/data/shapes/balls/skin18.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin19.marble.png b/data/shapes/balls/skin19.marble.png deleted file mode 100644 index b60f1a8c..00000000 Binary files a/data/shapes/balls/skin19.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin20.marble.png b/data/shapes/balls/skin20.marble.png deleted file mode 100644 index ef075df6..00000000 Binary files a/data/shapes/balls/skin20.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin21.marble.png b/data/shapes/balls/skin21.marble.png deleted file mode 100644 index 80940d5a..00000000 Binary files a/data/shapes/balls/skin21.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin22.marble.png b/data/shapes/balls/skin22.marble.png deleted file mode 100644 index 16f89130..00000000 Binary files a/data/shapes/balls/skin22.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin23.marble.png b/data/shapes/balls/skin23.marble.png deleted file mode 100644 index c1cbb062..00000000 Binary files a/data/shapes/balls/skin23.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin24.marble.png b/data/shapes/balls/skin24.marble.png deleted file mode 100644 index d81ba027..00000000 Binary files a/data/shapes/balls/skin24.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin25.marble.png b/data/shapes/balls/skin25.marble.png deleted file mode 100644 index be081adf..00000000 Binary files a/data/shapes/balls/skin25.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin26.marble.png b/data/shapes/balls/skin26.marble.png deleted file mode 100644 index db880dd1..00000000 Binary files a/data/shapes/balls/skin26.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin27.marble.png b/data/shapes/balls/skin27.marble.png deleted file mode 100644 index 566b0814..00000000 Binary files a/data/shapes/balls/skin27.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin28.marble.png b/data/shapes/balls/skin28.marble.png deleted file mode 100644 index 672fd325..00000000 Binary files a/data/shapes/balls/skin28.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin29.marble.png b/data/shapes/balls/skin29.marble.png deleted file mode 100644 index bf5e25ff..00000000 Binary files a/data/shapes/balls/skin29.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin30.marble.png b/data/shapes/balls/skin30.marble.png deleted file mode 100644 index d3b064e0..00000000 Binary files a/data/shapes/balls/skin30.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin31.marble.png b/data/shapes/balls/skin31.marble.png deleted file mode 100644 index 0e5d1249..00000000 Binary files a/data/shapes/balls/skin31.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin32.marble.png b/data/shapes/balls/skin32.marble.png deleted file mode 100644 index 181d4fd2..00000000 Binary files a/data/shapes/balls/skin32.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin33.marble.png b/data/shapes/balls/skin33.marble.png deleted file mode 100644 index cddd0889..00000000 Binary files a/data/shapes/balls/skin33.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin34.marble.png b/data/shapes/balls/skin34.marble.png deleted file mode 100644 index d86aef21..00000000 Binary files a/data/shapes/balls/skin34.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin35.marble.png b/data/shapes/balls/skin35.marble.png deleted file mode 100644 index 598ad808..00000000 Binary files a/data/shapes/balls/skin35.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin36.marble.png b/data/shapes/balls/skin36.marble.png deleted file mode 100644 index d06dfca5..00000000 Binary files a/data/shapes/balls/skin36.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin37.marble.png b/data/shapes/balls/skin37.marble.png deleted file mode 100644 index 8d270d2f..00000000 Binary files a/data/shapes/balls/skin37.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin38.marble.png b/data/shapes/balls/skin38.marble.png deleted file mode 100644 index b60e49c5..00000000 Binary files a/data/shapes/balls/skin38.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin39.marble.png b/data/shapes/balls/skin39.marble.png deleted file mode 100644 index 6b81a57b..00000000 Binary files a/data/shapes/balls/skin39.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin4.marble.png b/data/shapes/balls/skin4.marble.png deleted file mode 100644 index 2b2f221d..00000000 Binary files a/data/shapes/balls/skin4.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin41.marble.png b/data/shapes/balls/skin41.marble.png deleted file mode 100644 index 2f3b803a..00000000 Binary files a/data/shapes/balls/skin41.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin42.marble.png b/data/shapes/balls/skin42.marble.png deleted file mode 100644 index e53a289a..00000000 Binary files a/data/shapes/balls/skin42.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin43.marble.png b/data/shapes/balls/skin43.marble.png deleted file mode 100644 index f5778339..00000000 Binary files a/data/shapes/balls/skin43.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin44.marble.png b/data/shapes/balls/skin44.marble.png deleted file mode 100644 index 30fc1f12..00000000 Binary files a/data/shapes/balls/skin44.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin45.marble.png b/data/shapes/balls/skin45.marble.png deleted file mode 100644 index 3ad45f01..00000000 Binary files a/data/shapes/balls/skin45.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin46.marble.png b/data/shapes/balls/skin46.marble.png deleted file mode 100644 index 19916f3f..00000000 Binary files a/data/shapes/balls/skin46.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin47.marble.png b/data/shapes/balls/skin47.marble.png deleted file mode 100644 index b040a017..00000000 Binary files a/data/shapes/balls/skin47.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin48.marble.png b/data/shapes/balls/skin48.marble.png deleted file mode 100644 index e3688086..00000000 Binary files a/data/shapes/balls/skin48.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin49.marble.png b/data/shapes/balls/skin49.marble.png deleted file mode 100644 index c0b17c3c..00000000 Binary files a/data/shapes/balls/skin49.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin5.marble.png b/data/shapes/balls/skin5.marble.png deleted file mode 100644 index 836adc4a..00000000 Binary files a/data/shapes/balls/skin5.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin50.marble.png b/data/shapes/balls/skin50.marble.png deleted file mode 100644 index 6b0ddfa9..00000000 Binary files a/data/shapes/balls/skin50.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin51.marble.png b/data/shapes/balls/skin51.marble.png deleted file mode 100644 index 2da20246..00000000 Binary files a/data/shapes/balls/skin51.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin52.marble.png b/data/shapes/balls/skin52.marble.png deleted file mode 100644 index aa6d1827..00000000 Binary files a/data/shapes/balls/skin52.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin53.marble.png b/data/shapes/balls/skin53.marble.png deleted file mode 100644 index efeabc7b..00000000 Binary files a/data/shapes/balls/skin53.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin54.marble.png b/data/shapes/balls/skin54.marble.png deleted file mode 100644 index ed46a78b..00000000 Binary files a/data/shapes/balls/skin54.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin55.marble.png b/data/shapes/balls/skin55.marble.png deleted file mode 100644 index a46a9303..00000000 Binary files a/data/shapes/balls/skin55.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin56.marble.png b/data/shapes/balls/skin56.marble.png deleted file mode 100644 index b022f5e4..00000000 Binary files a/data/shapes/balls/skin56.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin57.marble.png b/data/shapes/balls/skin57.marble.png deleted file mode 100644 index d005e8d0..00000000 Binary files a/data/shapes/balls/skin57.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin58.marble.png b/data/shapes/balls/skin58.marble.png deleted file mode 100644 index 0d45ad21..00000000 Binary files a/data/shapes/balls/skin58.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin59.marble.png b/data/shapes/balls/skin59.marble.png deleted file mode 100644 index fc06e139..00000000 Binary files a/data/shapes/balls/skin59.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin6.marble.png b/data/shapes/balls/skin6.marble.png deleted file mode 100644 index 287e4ba9..00000000 Binary files a/data/shapes/balls/skin6.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin60.marble.png b/data/shapes/balls/skin60.marble.png deleted file mode 100644 index 38e00f79..00000000 Binary files a/data/shapes/balls/skin60.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin61.marble.png b/data/shapes/balls/skin61.marble.png deleted file mode 100644 index 3e5158d6..00000000 Binary files a/data/shapes/balls/skin61.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin7.marble.png b/data/shapes/balls/skin7.marble.png deleted file mode 100644 index 0294c344..00000000 Binary files a/data/shapes/balls/skin7.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin8.marble.png b/data/shapes/balls/skin8.marble.png deleted file mode 100644 index 4c27611a..00000000 Binary files a/data/shapes/balls/skin8.marble.png and /dev/null differ diff --git a/data/shapes/balls/skin9.marble.png b/data/shapes/balls/skin9.marble.png deleted file mode 100644 index d026b770..00000000 Binary files a/data/shapes/balls/skin9.marble.png and /dev/null differ diff --git a/data/shapes/balls/sm1.dts b/data/shapes/balls/sm1.dts deleted file mode 100644 index c8bab234..00000000 Binary files a/data/shapes/balls/sm1.dts and /dev/null differ diff --git a/data/shapes/balls/sm2.dts b/data/shapes/balls/sm2.dts deleted file mode 100644 index e7034188..00000000 Binary files a/data/shapes/balls/sm2.dts and /dev/null differ diff --git a/data/shapes/balls/sm3.dts b/data/shapes/balls/sm3.dts deleted file mode 100644 index 50f8e05d..00000000 Binary files a/data/shapes/balls/sm3.dts and /dev/null differ diff --git a/data/tmp/cache.dat b/data/tmp/cache.dat index 972b9c2f..572ca2ae 100644 --- a/data/tmp/cache.dat +++ b/data/tmp/cache.dat @@ -1 +1 @@ -by27:font%2FLucida%20Console.fntaoy3:outy34:tmp%2Ffont%2FLucida%20Console.bfnty3:veri1y4:hashy40:b56483df1b8f3d8472856b51459d5ce8f3cdfa09y4:timei1685983312ghy16:font%2FEXPON.fntaoR1y23:tmp%2Ffont%2FEXPON.bfntR3i1R4y40:ba8ecd55d9475ee0f9d20c9a5189fe6a9c9ff727R6i1659272757ghy21:font%2FDomCasualD.fntaoR1y28:tmp%2Ffont%2FDomCasualD.bfntR3i1R4y40:ea40ffbf969a51d3e653a3d09b450143a814c7eeR6i1659272757ghy30:data%2Ffont%2FArial%20Bold.fntaoR1y44:data%2Ftmp%2Fdata%2Ffont%2FArial%20Bold.bfntR3i1R4y40:b6ce44ca1a3f30e3054e3de6daccf1144e31ee94R6i1687370373ghy28:data%2Ffont%2FColiseumRR.fntaoR1y42:data%2Ftmp%2Fdata%2Ffont%2FColiseumRR.bfntR3i1R4y40:fbeaa449cc1d1c48a6a9cc0eae47fabe1a2aad69R6i1687283656ghy23:font%2FArial%20Bold.fntaoR1y30:tmp%2Ffont%2FArial%20Bold.bfntR3i1R4y40:dce4a5edf92262f9ea5540d55271f8423683d064R6i1659272757ghy28:data%2Ffont%2FMarkerFelt.fntaoR1y42:data%2Ftmp%2Fdata%2Ffont%2FMarkerFelt.bfntR3i1R4y40:eb239790210478413cc111da54400b3d38aba041R6i1685983312ghy16:font%2Farial.fntaoR1y23:tmp%2Ffont%2Farial.bfntR3i1R4y40:dc7f069d72e0d1b6b7edfd5b9e6af9c22f9c641cR6i1659272757ghy21:font%2FMarkerFelt.fntaoR1y28:tmp%2Ffont%2FMarkerFelt.bfntR3i1R4R24R6i1685983312ghy34:data%2Ffont%2FLucida%20Console.fntaoR1y48:data%2Ftmp%2Fdata%2Ffont%2FLucida%20Console.bfntR3i1R4R5R6i1685983312ghy28:data%2Ffont%2FDomCasualD.fntaoR1y42:data%2Ftmp%2Fdata%2Ffont%2FDomCasualD.bfntR3i1R4R12R6i1659272757ghy23:data%2Ffont%2Farial.fntaoR1y37:data%2Ftmp%2Fdata%2Ffont%2Farial.bfntR3i1R4R27R6i1659272757ghy23:data%2Ffont%2FEXPON.fntaoR1y37:data%2Ftmp%2Fdata%2Ffont%2FEXPON.bfntR3i1R4R9R6i1659272757ghh \ No newline at end of file +by16:font%2Farial.fntaoy3:veri1y4:timei1659272757y4:hashy40:dc7f069d72e0d1b6b7edfd5b9e6af9c22f9c641cy3:outy23:tmp%2Ffont%2Farial.bfntghy21:font%2FMarkerFelt.fntaoR1i1R2i1685983312R3y40:eb239790210478413cc111da54400b3d38aba041R5y28:tmp%2Ffont%2FMarkerFelt.bfntghy27:font%2FLucida%20Console.fntaoR1i1R2i1685983312R3y40:b56483df1b8f3d8472856b51459d5ce8f3cdfa09R5y34:tmp%2Ffont%2FLucida%20Console.bfntghy16:font%2FEXPON.fntaoR1i1R2i1659272757R3y40:ba8ecd55d9475ee0f9d20c9a5189fe6a9c9ff727R5y23:tmp%2Ffont%2FEXPON.bfntghy21:font%2FDomCasualD.fntaoR1i1R2i1659272757R3y40:ea40ffbf969a51d3e653a3d09b450143a814c7eeR5y28:tmp%2Ffont%2FDomCasualD.bfntghy21:font%2FColiseumRR.fntaoR1i1R2i1687283656R3y40:fbeaa449cc1d1c48a6a9cc0eae47fabe1a2aad69R5y28:tmp%2Ffont%2FColiseumRR.bfntghy23:font%2FArial%20Bold.fntaoR1i1R2i1687370373R3y40:b6ce44ca1a3f30e3054e3de6daccf1144e31ee94R5y30:tmp%2Ffont%2FArial%20Bold.bfntghy23:data%2Ffont%2Farial.fntaoR1i1R2i1659272757R3R4R5y37:data%2Ftmp%2Fdata%2Ffont%2Farial.bfntghy28:data%2Ffont%2FMarkerFelt.fntaoR1i1R2i1685983312R3R8R5y42:data%2Ftmp%2Fdata%2Ffont%2FMarkerFelt.bfntghy34:data%2Ffont%2FLucida%20Console.fntaoR1i1R2i1685983312R3R11R5y48:data%2Ftmp%2Fdata%2Ffont%2FLucida%20Console.bfntghy23:data%2Ffont%2FEXPON.fntaoR1i1R2i1659272757R3R14R5y37:data%2Ftmp%2Fdata%2Ffont%2FEXPON.bfntghy28:data%2Ffont%2FDomCasualD.fntaoR1i1R2i1659272757R3R17R5y42:data%2Ftmp%2Fdata%2Ffont%2FDomCasualD.bfntghy28:data%2Ffont%2FColiseumRR.fntaoR1i1R2i1687283656R3R20R5y42:data%2Ftmp%2Fdata%2Ffont%2FColiseumRR.bfntghy30:data%2Ffont%2FArial%20Bold.fntaoR1i1R2i1687370373R3R23R5y44:data%2Ftmp%2Fdata%2Ffont%2FArial%20Bold.bfntghh \ No newline at end of file diff --git a/data/tmp/font/ColiseumRR.bfnt b/data/tmp/font/ColiseumRR.bfnt new file mode 100644 index 00000000..6ed08212 Binary files /dev/null and b/data/tmp/font/ColiseumRR.bfnt differ diff --git a/src/DifBuilder.hx b/src/DifBuilder.hx index 80dd84a2..18388c89 100644 --- a/src/DifBuilder.hx +++ b/src/DifBuilder.hx @@ -853,6 +853,9 @@ class DifBuilder { if (cache != null) { collider.difEdgeMap = cache.difEdgeMap; difEdges = cache.difEdgeMap; + for (surf in colliderSurfaces) { + collider.addSurface(surf); + } } collider.finalize(); itr.collider = collider; diff --git a/src/Marble.hx b/src/Marble.hx index da057041..94cef716 100644 --- a/src/Marble.hx +++ b/src/Marble.hx @@ -1,5 +1,6 @@ package src; +import shaders.marble.ClassicMarb; import shapes.HelicopterImage; import shapes.BlastWave; import collision.CollisionHull; @@ -339,49 +340,69 @@ class Marble extends GameObject { mat.mainPass.addShader(new MarbleReflection(this.cubemapRenderer.cubemap)); } else { // Generate tangents for next shaders, only for Ultra + for (node in marbleDts.graphNodes) { + for (ch in node.children) { + var chmesh = cast(ch, Mesh); + var chpoly = cast(chmesh.primitive, mesh.Polygon); + chpoly.addTangents(); + } + } mat.mainPass.removeShader(mat.textureShader); if (Settings.optionsSettings.marbleShader == "ClassicGlassPureSphere") { - var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/pack1/marble01.normal.png").resource; + var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/marble01.normal.png").resource; var classicGlassShader = new ClassicGlassPureSphere(mat.texture, marbleNormal, this.cubemapRenderer.cubemap, 12, - new Vector(0.6, 0.6, 0.6, 0.6), this.level.ambient, this.level.dirLight, this.level.dirLightDir, 1); + new Vector(0.6, 0.6, 0.6, 0.6), 1); mat.mainPass.addShader(classicGlassShader); } + if (Settings.optionsSettings.marbleShader == "ClassicMarb") { + var classicMarb = new ClassicMarb(mat.texture, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), 1); + mat.mainPass.addShader(classicMarb); + } + if (Settings.optionsSettings.marbleShader == "ClassicMarb2") { - var classicMarb2 = new ClassicMarb2(mat.texture, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), this.level.ambient, - this.level.dirLight, this.level.dirLightDir, 1); + var classicMarb2 = new ClassicMarb2(mat.texture, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), 1); mat.mainPass.addShader(classicMarb2); } if (Settings.optionsSettings.marbleShader == "ClassicMarb3") { - var classicMarb3 = new ClassicMarb3(mat.texture, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), this.level.ambient, - this.level.dirLight, this.level.dirLightDir, 1); + var marbSpecColor = new Vector(0.6, 0.6, 0.6, 0.6); + var marbSpec = 12.0; + if (Settings.optionsSettings.marbleModel == "data/shapes/balls/marble16.dts") { + marbSpec = 6; + marbSpecColor.set(0.2, 0.2, 0.2, 0.2); + } + if (Settings.optionsSettings.marbleModel == "data/shapes/balls/marble31.dts") { + marbSpec = 24; + marbSpecColor.set(0.3, 0.3, 0.3, 0.3); + } + var classicMarb3 = new ClassicMarb3(mat.texture, this.cubemapRenderer.cubemap, marbSpec, marbSpecColor, 1); mat.mainPass.addShader(classicMarb3); } if (Settings.optionsSettings.marbleShader == "ClassicMetal") { - var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/pack1/marble18.normal.png").resource; + var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/marble18.normal.png").resource; marbleNormal.wrap = Repeat; var classicMetalShader = new ClassicMetal(mat.texture, marbleNormal, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), - this.level.ambient, this.level.dirLight, this.level.dirLightDir, 1); + 1); mat.mainPass.addShader(classicMetalShader); } if (Settings.optionsSettings.marbleShader == "ClassicMarbGlass20") { - var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/pack1/marble20.normal.png").resource; + var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/marble20.normal.png").resource; marbleNormal.wrap = Repeat; var classicGlassShader = new ClassicGlass(mat.texture, marbleNormal, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), - this.level.ambient, this.level.dirLight, this.level.dirLightDir, 1); + 1); mat.mainPass.addShader(classicGlassShader); } if (Settings.optionsSettings.marbleShader == "ClassicMarbGlass18") { - var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/pack1/marble18.normal.png").resource; + var marbleNormal = ResourceLoader.getTexture("data/shapes/balls/marble18.normal.png").resource; marbleNormal.wrap = Repeat; var classicGlassShader = new ClassicGlass(mat.texture, marbleNormal, this.cubemapRenderer.cubemap, 12, new Vector(0.6, 0.6, 0.6, 0.6), - this.level.ambient, this.level.dirLight, this.level.dirLightDir, 1); + 1); mat.mainPass.addShader(classicGlassShader); } diff --git a/src/MarbleWorld.hx b/src/MarbleWorld.hx index 0692258d..ae469d68 100644 --- a/src/MarbleWorld.hx +++ b/src/MarbleWorld.hx @@ -386,17 +386,17 @@ class MarbleWorld extends Scheduler { "shapes/hazards/null.png" ]; if (this.game == "ultra") { - marblefiles.push("shapes/balls/pack1/marble20.normal.png"); - marblefiles.push("shapes/balls/pack1/marble18.normal.png"); - marblefiles.push("shapes/balls/pack1/marble01.normal.png"); + marblefiles.push("shapes/balls/marble20.normal.png"); + marblefiles.push("shapes/balls/marble18.normal.png"); + marblefiles.push("shapes/balls/marble01.normal.png"); marblefiles.push("sound/use_blast.wav"); } // Hacky marblefiles.push(StringTools.replace(Settings.optionsSettings.marbleModel, "data/", "")); - if (Settings.optionsSettings.marbleCategoryIndex == 0) - marblefiles.push("shapes/balls/" + Settings.optionsSettings.marbleSkin + ".marble.png"); - else - marblefiles.push("shapes/balls/pack1/" + Settings.optionsSettings.marbleSkin + ".marble.png"); + // if (Settings.optionsSettings.marbleCategoryIndex == 0) + // marblefiles.push("shapes/balls/" + Settings.optionsSettings.marbleSkin + ".marble.png"); + // else + // marblefiles.push("shapes/balls/" + Settings.optionsSettings.marbleSkin + ".marble.png"); for (file in marblefiles) { worker.loadFile(file); } diff --git a/src/Settings.hx b/src/Settings.hx index 8bba1987..4aac6f1f 100644 --- a/src/Settings.hx +++ b/src/Settings.hx @@ -124,7 +124,7 @@ class Settings { marbleIndex: 0, marbleCategoryIndex: 0, marbleSkin: "base", - marbleModel: "data/shapes/balls/ball-superball.dts", + marbleModel: "data/shapes/balls/marble01.dts", marbleShader: "Default", cameraDistance: 2.5, rewindEnabled: false, @@ -418,7 +418,7 @@ class Settings { if (optionsSettings.marbleIndex == null) { optionsSettings.marbleIndex = 0; optionsSettings.marbleSkin = "base"; - optionsSettings.marbleModel = "data/shapes/balls/ball-superball.dts"; + optionsSettings.marbleModel = "data/shapes/balls/marble01.dts"; } if (optionsSettings.marbleCategoryIndex == null) { optionsSettings.marbleCategoryIndex = 0; diff --git a/src/gui/MainMenuGui.hx b/src/gui/MainMenuGui.hx index 8adeb804..3a5d8122 100644 --- a/src/gui/MainMenuGui.hx +++ b/src/gui/MainMenuGui.hx @@ -106,7 +106,7 @@ class MainMenuGui extends GuiImage { #end }); btnList.addButton(3, "Help & Options", (sender) -> { - cast(this.parent, Canvas).setContent(new OptionsDlg()); + cast(this.parent, Canvas).setContent(new OptionsListGui()); }); btnList.addButton(2, "Changelog", (sender) -> { MarbleGame.canvas.pushDialog(new VersionGui()); diff --git a/src/gui/MarbleSelectGui.hx b/src/gui/MarbleSelectGui.hx index 275b8df8..0f018511 100644 --- a/src/gui/MarbleSelectGui.hx +++ b/src/gui/MarbleSelectGui.hx @@ -24,492 +24,219 @@ class MarbleSelectGui extends GuiImage { var marbleData = [ [ { - name: "Staff's Original", - dts: "data/shapes/balls/ball-superball.dts", + name: "1", + dts: "data/shapes/balls/marble01.dts", skin: "base", - shader: "Default" - }, - { - name: "3D Marble", - dts: "data/shapes/balls/3dMarble.dts", - skin: "base", - shader: "Default" - }, - { - name: "Mid P", - dts: "data/shapes/balls/midp.dts", - skin: "base", - shader: "Default" - }, - { - name: "Spade", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin4", - shader: "Default" - }, - { - name: "GMD Logo", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin5", - shader: "Default" - }, - { - name: "Textured Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin6", - shader: "Default" - }, - { - name: "Golden Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin7", - shader: "Default" - }, - { - name: "Rainbow Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin8", - shader: "Default" - }, - { - name: "Brown Swirls", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin9", - shader: "Default" - }, - { - name: "Caution Stripes", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin10", - shader: "Default" - }, - { - name: "Earth", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin11", - shader: "Default" - }, - { - name: "Golf Ball", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin12", - shader: "Default" - }, - { - name: "Jupiter", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin13", - shader: "Default" - }, - { - name: "MB Gold Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin14", - shader: "Default" - }, - { - name: "MBP on the Marble!", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin15", - shader: "Default" - }, - { - name: "Moshe", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin16", - shader: "Default" - }, - { - name: "Strong Bad", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin17", - shader: "Default" - }, - { - name: "Venus", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin18", - shader: "Default" - }, - { - name: "Water", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin19", - shader: "Default" - }, - { - name: "Evil Eye", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin20", - shader: "Default" - }, - { - name: "Desert and Sky", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin21", - shader: "Default" - }, - { - name: "Dirt Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin22", - shader: "Default" - }, - { - name: "Friction Textured Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin23", - shader: "Default" - }, - { - name: "Grass", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin24", - shader: "Default" - }, - { - name: "Mars", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin25", - shader: "Default" - }, - { - name: "Phil's Golf Ball", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin26", - shader: "Default" - }, - { - name: "Molten", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin27", - shader: "Default" - }, - { - name: "Lightning", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin28", - shader: "Default" - }, - { - name: "Phil'sEmpire", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin29", - shader: "Default" - }, - { - name: "Matan's Red Dragon", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin30", - shader: "Default" - }, - { - name: "Metallic Marble", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin31", - shader: "Default" - }, - { - name: "Sun", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin32", - shader: "Default" - }, - { - name: "Underwater", - dts: "data/shapes/balls/ball-superball.dts", - skin: "skin33", - shader: "Default" - }, - { - name: "GarageGames logo", - dts: "data/shapes/balls/garageGames.dts", - skin: "base", - shader: "Default" - }, - { - name: "Big Marble 1", - dts: "data/shapes/balls/bm1.dts", - skin: "base", - shader: "Default" - }, - { - name: "Big Marble 2", - dts: "data/shapes/balls/bm2.dts", - skin: "base", - shader: "Default" - }, - { - name: "Big Marble 3", - dts: "data/shapes/balls/bm3.dts", - skin: "base", - shader: "Default" - }, - { - name: "Small Marble 1", - dts: "data/shapes/balls/sm1.dts", - skin: "base", - shader: "Default" - }, - { - name: "Small Marble 2", - dts: "data/shapes/balls/sm2.dts", - skin: "base", - shader: "Default" - }, - { - name: "Small Marble 3", - dts: "data/shapes/balls/sm3.dts", - skin: "base", - shader: "Default" - } - ], - [ - { - name: "Deep Blue", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin1", shader: "ClassicGlassPureSphere" }, { - name: "Blood Red", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin2", - shader: "Default" - }, - { - name: "Gang Green", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin6", + name: "2", + dts: "data/shapes/balls/marble03.dts", + skin: "base", shader: "ClassicGlassPureSphere" }, { - name: "Pink Candy", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin27", - shader: "Default" - }, - { - name: "Chocolate", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin5", + name: "3", + dts: "data/shapes/balls/marble04.dts", + skin: "base", shader: "ClassicGlassPureSphere" }, { - name: "Grape", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin4", + name: "4", + dts: "data/shapes/balls/marble05.dts", + skin: "base", shader: "ClassicGlassPureSphere" }, { - name: "Lemon", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin28", - shader: "Default" - }, - { - name: "Lime Green", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin8", - shader: "Default" - }, - { - name: "Blueberry", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin7", + name: "5", + dts: "data/shapes/balls/marble06.dts", + skin: "base", shader: "ClassicGlassPureSphere" }, { - name: "Tangerine", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin3", + name: "6", + dts: "data/shapes/balls/marble07.dts", + skin: "base", shader: "ClassicGlassPureSphere" }, { - name: "8 Ball", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin9", - shader: "ClassicMarb3" + name: "7", + dts: "data/shapes/balls/marble12.dts", + skin: "base", + shader: "ClassicGlassPureSphere" }, { - name: "Ace of Hearts", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin22", - shader: "ClassicMarb3" + name: "8", + dts: "data/shapes/balls/marble15.dts", + skin: "base", + shader: "ClassicGlassPureSphere" }, { - name: "Football", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin16", - shader: "ClassicMarb3" - }, - { - name: "9 Ball", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin29", - shader: "ClassicMarb3" - }, - { - name: "Ace of Spades", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin24", - shader: "ClassicMarb3" - }, - { - name: "GarageGames", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin10", - shader: "ClassicMarb2" - }, - { - name: "Bob", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin30", - shader: "ClassicMarb3" - }, - { - name: "Skully", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin18", + name: "9", + dts: "data/shapes/balls/marble02.dts", + skin: "base", shader: "Default" }, { - name: "Jack-o-Lantern", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin34", + name: "10", + dts: "data/shapes/balls/marble26.dts", + skin: "base", shader: "Default" }, { - name: "Walled Up", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin25", - shader: "ClassicMarb3" + name: "11", + dts: "data/shapes/balls/marble27.dts", + skin: "base", + shader: "Default" }, { - name: "Sunny Side Up", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin11", + name: "12", + dts: "data/shapes/balls/marble28.dts", + skin: "base", + shader: "Default" + }, + { + name: "13", + dts: "data/shapes/balls/marble29.dts", + skin: "base", + shader: "Default" + }, + { + name: "14", + dts: "data/shapes/balls/marble30.dts", + skin: "base", + shader: "Default" + }, + { + name: "15", + dts: "data/shapes/balls/marble11.dts", + skin: "base", shader: "ClassicMetal" }, { - name: "Lunar", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin31", - shader: "ClassicMetal" - }, - { - name: "Battery", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin14", - shader: "ClassicMarb3" - }, - { - name: "Static", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin32", - shader: "ClassicMarb2" - }, - { - name: "Earth", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin20", - shader: "ClassicMarbGlass20" - }, - { - name: "Red and X", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin13", - shader: "ClassicMarb3" - }, - { - name: "Orange Spiral", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin12", - shader: "ClassicGlassPureSphere" - }, - { - name: "Blue Spiral", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin15", - shader: "ClassicGlassPureSphere" - }, - { - name: "Sliced Marble", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin21", - shader: "ClassicMarb3" - }, - { - name: "Orange Checkers", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin19", - shader: "ClassicMarb3" - }, - { - name: "Torque", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin33", - shader: "ClassicMarb3" - }, - { - name: "Fred", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin17", - shader: "ClassicMarb3" - }, - { - name: "Pirate", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin26", + name: "16", + dts: "data/shapes/balls/marble18.dts", + skin: "base", shader: "ClassicMarbGlass18" }, { - name: "Shuriken", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin23", + name: "17", + dts: "data/shapes/balls/marble20.dts", + skin: "base", + shader: "ClassicMarbGlass20" + }, + { + name: "18", + dts: "data/shapes/balls/marble33.dts", + skin: "base", + shader: "ClassicMetal" + }, + { + name: "19", + dts: "data/shapes/balls/marble34.dts", + skin: "base", + shader: "ClassicMarb2" + }, + { + name: "20", + dts: "data/shapes/balls/marble09.dts", + skin: "base", shader: "ClassicMarb3" }, { - name: "Eyeball", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin35", - shader: "Default" + name: "21", + dts: "data/shapes/balls/marble13.dts", + skin: "base", + shader: "ClassicMarb3" }, { - name: "Woody", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin36", - shader: "Default" + name: "22", + dts: "data/shapes/balls/marble14.dts", + skin: "base", + shader: "ClassicMarb3" }, { - name: "Dat Nostalgia", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin37", - shader: "Default" + name: "23", + dts: "data/shapes/balls/marble17.dts", + skin: "base", + shader: "ClassicMarb3" }, { - name: "Graffiti", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin38", - shader: "Default" + name: "24", + dts: "data/shapes/balls/marble19.dts", + skin: "base", + shader: "ClassicMarb3" }, { - name: "Asteroid", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin39", - shader: "Default" + name: "25", + dts: "data/shapes/balls/marble21.dts", + skin: "base", + shader: "ClassicMarb3" }, { - name: "Disco Ball", - dts: "data/shapes/balls/pack1/pack1marble.dts", - skin: "uskin40", - shader: "Default" + name: "26", + dts: "data/shapes/balls/marble22.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "27", + dts: "data/shapes/balls/marble23.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "28", + dts: "data/shapes/balls/marble24.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "29", + dts: "data/shapes/balls/marble25.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "30", + dts: "data/shapes/balls/marble31.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "31", + dts: "data/shapes/balls/marble32.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "32", + dts: "data/shapes/balls/marble08.dts", + skin: "base", + shader: "ClassicMarb" + }, + { + name: "33", + dts: "data/shapes/balls/marble10.dts", + skin: "base", + shader: "ClassicMarb2" + }, + { + name: "34", + dts: "data/shapes/balls/marble16.dts", + skin: "base", + shader: "ClassicMarb3" + }, + { + name: "35", + dts: "data/shapes/balls/marble35.dts", + skin: "base", + shader: "ClassicMarb3" } - - ], + ] ]; - var categoryNames = ["Official Marbles", "MBUltra"]; + var categoryNames = ["MBUltra"]; var curSelection:Int = Settings.optionsSettings.marbleIndex; var curCategorySelection:Int = Settings.optionsSettings.marbleCategoryIndex; diff --git a/src/gui/OptionsListGui.hx b/src/gui/OptionsListGui.hx new file mode 100644 index 00000000..e39c978f --- /dev/null +++ b/src/gui/OptionsListGui.hx @@ -0,0 +1,81 @@ +package gui; + +import src.MarbleGame; +import hxd.res.BitmapFont; +import h3d.Vector; +import src.ResourceLoader; +import src.Settings; + +class OptionsListGui extends GuiImage { + public function new() { + var res = ResourceLoader.getImage("data/ui/xbox/BG_fadeOutSoftEdge.png").resource.toTile(); + super(res); + var domcasual32fontdata = ResourceLoader.getFileEntry("data/font/DomCasualD.fnt"); + var domcasual32b = new BitmapFont(domcasual32fontdata.entry); + @:privateAccess domcasual32b.loader = ResourceLoader.loader; + var domcasual32 = domcasual32b.toSdfFont(cast 42 * Settings.uiScale, MultiChannel); + + this.horizSizing = Width; + this.vertSizing = Height; + this.position = new Vector(); + this.extent = new Vector(640, 480); + + var scene2d = MarbleGame.canvas.scene2d; + + var offsetX = (scene2d.width - 1280) / 2; + var offsetY = (scene2d.height - 720) / 2; + + var subX = 640 - (scene2d.width - offsetX) * 640 / scene2d.width; + var subY = 480 - (scene2d.height - offsetY) * 480 / scene2d.height; + + var innerCtrl = new GuiControl(); + innerCtrl.position = new Vector(offsetX, offsetY); + innerCtrl.extent = new Vector(640 - subX, 480 - subY); + innerCtrl.horizSizing = Width; + innerCtrl.vertSizing = Height; + this.addChild(innerCtrl); + + var coliseumfontdata = ResourceLoader.getFileEntry("data/font/ColiseumRR.fnt"); + var coliseumb = new BitmapFont(coliseumfontdata.entry); + @:privateAccess coliseumb.loader = ResourceLoader.loader; + var coliseum = coliseumb.toSdfFont(cast 44 * Settings.uiScale, MultiChannel); + + var rootTitle = new GuiText(coliseum); + rootTitle.position = new Vector(100, 30); + rootTitle.extent = new Vector(1120, 80); + rootTitle.text.textColor = 0xFFFFFF; + rootTitle.text.text = "HELP & OPTIONS"; + rootTitle.text.alpha = 0.5; + innerCtrl.addChild(rootTitle); + + var btnList = new GuiXboxList(); + btnList.position = new Vector(70 - offsetX, 165); + btnList.horizSizing = Left; + btnList.extent = new Vector(502, 500); + innerCtrl.addChild(btnList); + + btnList.addButton(0, 'Marble Appearance', (e) -> { + MarbleGame.canvas.pushDialog(new MarbleSelectGui()); + }); + btnList.addButton(0, 'Input and Sound Options', (e) -> {}); + btnList.addButton(0, 'Video Options', (e) -> {}); + btnList.addButton(0, 'Misc Options', (e) -> {}); + btnList.addButton(0, 'How to Play', (e) -> {}); + btnList.addButton(0, 'Credits', (e) -> {}); + + var bottomBar = new GuiControl(); + bottomBar.position = new Vector(0, 590); + bottomBar.extent = new Vector(640, 200); + bottomBar.horizSizing = Width; + bottomBar.vertSizing = Bottom; + innerCtrl.addChild(bottomBar); + + var backButton = new GuiXboxButton("Back", 160); + backButton.position = new Vector(400, 0); + backButton.vertSizing = Bottom; + backButton.horizSizing = Right; + backButton.gamepadAccelerator = ["B"]; + backButton.pressedAction = (e) -> MarbleGame.canvas.setContent(new MainMenuGui()); + bottomBar.addChild(backButton); + } +} diff --git a/src/shaders/marble/ClassicGlass.hx b/src/shaders/marble/ClassicGlass.hx index 4450e117..99feadd7 100644 --- a/src/shaders/marble/ClassicGlass.hx +++ b/src/shaders/marble/ClassicGlass.hx @@ -7,9 +7,6 @@ class ClassicGlass extends hxsl.Shader { @param var envMap:SamplerCube; @param var shininess:Float; @param var specularColor:Vec4; - @param var ambientLight:Vec3; - @param var dirLight:Vec3; - @param var dirLightDir:Vec3; @param var uvScaleFactor:Float; @global var camera:{ var position:Vec3; @@ -21,7 +18,7 @@ class ClassicGlass extends hxsl.Shader { }; @input var input:{ var normal:Vec3; - var tangent:Vec3; + var t:Vec3; var uv:Vec2; }; var calculatedUV:Vec2; @@ -33,68 +30,83 @@ class ClassicGlass extends hxsl.Shader { var pixelTransformedPosition:Vec3; @var var transformedTangent:Vec4; @var var fragLightW:Float; + @var var cubeEyePos:Vec3; function lambert(normal:Vec3, lightPosition:Vec3):Float { var result = dot(normal, lightPosition); return saturate(result); } + function transposeMat3(m:Mat3):Mat3 { + return mat3(vec3(m[0].x, m[1].x, m[2].x), vec3(m[0].y, m[1].y, m[2].y), vec3(m[0].z, m[1].z, m[2].z)); + } function __init__vertex() { - transformedTangent = vec4(input.tangent * global.modelView.mat3(), input.tangent.dot(input.tangent) > 0.5 ? 1. : -1.); + transformedTangent = vec4(input.t * global.modelView.mat3(), input.t.dot(input.t) > 0.5 ? 1. : -1.); } function vertex() { calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); fragLightW = step(-0.5, dot(dirLight, input.normal)); + + var cubeTrans = mat3(global.modelView); + cubeEyePos = camera.position - global.modelView[3].xyz; + cubeEyePos.x *= -1; + cubeEyePos = cubeEyePos.normalize(); } function fragment() { // Diffuse part var texColor = diffuseMap.get(calculatedUV); var bumpColor = normalMap.get(calculatedUV); - // Normal - // var n = transformedNormal; - // var transformedNormal = normalize(bumpColor.xyz * 2 - 1); - // var tanX = transformedTangent.xyz.normalize(); - // var tanY = n.cross(tanX) * transformedTangent.w; - // transformedNormal = (nf.x * tanX + nf.y * tanY + nf.z * n).normalize(); + var norm = normalize(bumpColor * 2 - 1).xyz; - var diffuse = dirLight * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + + // Normal + var n = transformedNormal; + var nf = normalize(bumpColor.xyz * 2 - 1); + var tanX = transformedTangent.xyz.normalize(); + var tanY = n.cross(tanX) * transformedTangent.w; + transformedNormal = (nf.x * tanX + nf.y * tanY + nf.z * n).normalize(); + + var diffuse = dirLight * (dot(norm, -dirLightDir) + 1.3) * 0.5; // Specular var eyeVec = (camera.position - transformedPosition).normalize(); var halfAng = (eyeVec - dirLightDir).normalize(); - var specValue = saturate(transformedNormal.dot(halfAng)) * fragLightW; + var specValue = saturate(norm.dot(halfAng)) * fragLightW; var specular = specularColor * pow(specValue, shininess); var viewDir = normalize(camera.position - pixelTransformedPosition); + norm = (norm * mat3(global.modelView)).normalize(); + // Fresnel var fresnelBias = 0.0; var fresnelPow = 1.2; var fresnelScale = 1.0; - var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, transformedNormal), 0.0), fresnelPow); + var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, norm), 0.0), fresnelPow); + var reflectVec = 2 * norm.dot(cubeEyePos) * norm - cubeEyePos * norm.dot(norm); var incidentRay = normalize(pixelTransformedPosition - camera.position); - var reflectionRay = reflect(incidentRay, transformedNormal); + var reflectionRay = reflect(incidentRay, transformedNormal).normalize(); var reflectColor = envMap.get(reflectionRay); var outCol = mix(texColor * 1.2, reflectColor, fresnelTerm); - outCol *= vec4(diffuse, 1); + outCol *= diffuse; outCol += specular * bumpColor.a; pixelColor = outCol; } } - public function new(diffuse, normal, skybox, shininess, specularVal, ambientLight, dirLight, dirLightDir, uvScaleFactor) { + public function new(diffuse, normal, skybox, shininess, specularVal, uvScaleFactor) { super(); this.diffuseMap = diffuse; this.normalMap = normal; this.envMap = skybox; this.shininess = shininess; this.specularColor = specularVal; - this.ambientLight = ambientLight.clone(); - this.dirLight = dirLight.clone(); - this.dirLightDir = dirLightDir.clone(); this.uvScaleFactor = uvScaleFactor; } } diff --git a/src/shaders/marble/ClassicGlassPureSphere.hx b/src/shaders/marble/ClassicGlassPureSphere.hx index 919d1f55..e3f7e838 100644 --- a/src/shaders/marble/ClassicGlassPureSphere.hx +++ b/src/shaders/marble/ClassicGlassPureSphere.hx @@ -7,9 +7,6 @@ class ClassicGlassPureSphere extends hxsl.Shader { @param var envMap:SamplerCube; @param var shininess:Float; @param var specularColor:Vec4; - @param var ambientLight:Vec3; - @param var dirLight:Vec3; - @param var dirLightDir:Vec3; @param var uvScaleFactor:Float; @global var camera:{ var position:Vec3; @@ -37,6 +34,7 @@ class ClassicGlassPureSphere extends hxsl.Shader { } function vertex() { calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); fragLightW = step(-0.5, dot(dirLight, input.normal)); } function fragment() { @@ -44,6 +42,9 @@ class ClassicGlassPureSphere extends hxsl.Shader { var texColor = diffuseMap.get(calculatedUV); var bumpColor = normalMap.get(calculatedUV); + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + var diffuse = dirLight * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; // Specular @@ -66,23 +67,20 @@ class ClassicGlassPureSphere extends hxsl.Shader { var reflectColor = envMap.get(reflectionRay); var outCol = mix(texColor * 1.2, reflectColor, fresnelTerm); - outCol *= vec4(diffuse, 1); + outCol *= diffuse; outCol += specular * bumpColor.a; pixelColor = outCol; } } - public function new(diffuse, normal, skybox, shininess, specularVal, ambientLight, dirLight, dirLightDir, uvScaleFactor) { + public function new(diffuse, normal, skybox, shininess, specularVal, uvScaleFactor) { super(); this.diffuseMap = diffuse; this.normalMap = normal; this.envMap = skybox; this.shininess = shininess; this.specularColor = specularVal; - this.ambientLight = ambientLight.clone(); - this.dirLight = dirLight.clone(); - this.dirLightDir = dirLightDir.clone(); this.uvScaleFactor = uvScaleFactor; } } diff --git a/src/shaders/marble/ClassicMarb.hx b/src/shaders/marble/ClassicMarb.hx new file mode 100644 index 00000000..e588cbd7 --- /dev/null +++ b/src/shaders/marble/ClassicMarb.hx @@ -0,0 +1,83 @@ +package shaders.marble; + +class ClassicMarb extends hxsl.Shader { + static var SRC = { + @param var diffuseMap:Sampler2D; + @param var envMap:SamplerCube; + @param var shininess:Float; + @param var specularColor:Vec4; + @param var uvScaleFactor:Float; + @global var camera:{ + var position:Vec3; + @var var dir:Vec3; + }; + @global var global:{ + @perObject var modelView:Mat4; + @perObject var modelViewInverse:Mat4; + }; + @input var input:{ + var normal:Vec3; + var uv:Vec2; + }; + var calculatedUV:Vec2; + var pixelColor:Vec4; + var specColor:Vec3; + var specPower:Float; + var transformedPosition:Vec3; + var transformedNormal:Vec3; + var pixelTransformedPosition:Vec3; + @var var fragLightW:Float; + function lambert(normal:Vec3, lightPosition:Vec3):Float { + var result = dot(normal, lightPosition); + return saturate(result); + } + function vertex() { + calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); + fragLightW = step(-0.5, dot(dirLight, input.normal)); + } + function fragment() { + // Diffuse part + var texColor = diffuseMap.get(calculatedUV); + + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + + var diffuse = dirLight * (((dot(transformedNormal, -dirLightDir) + 1) * 0.5) + 0.4); + + // Specular + var eyeVec = (camera.position - transformedPosition).normalize(); + var halfAng = (eyeVec - dirLightDir).normalize(); + var specValue = saturate(transformedNormal.dot(halfAng)) * fragLightW; + var specular = specularColor * pow(specValue, shininess); + + var viewDir = normalize(camera.position - pixelTransformedPosition); + + // Fresnel + var fresnelBias = 0.0; + var fresnelPow = 1.2; + var fresnelScale = 1.0; + var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, transformedNormal), 0.0), fresnelPow); + + var incidentRay = normalize(pixelTransformedPosition - camera.position); + var reflectionRay = reflect(incidentRay, transformedNormal); + + var reflectColor = envMap.get(reflectionRay); + + var outCol = mix(texColor * 1.2, reflectColor, fresnelTerm); + outCol *= diffuse; + outCol += specular * 0.5; + + pixelColor = outCol; + } + } + + public function new(diffuse, skybox, shininess, specularVal, uvScaleFactor) { + super(); + this.diffuseMap = diffuse; + this.envMap = skybox; + this.shininess = shininess; + this.specularColor = specularVal; + this.uvScaleFactor = uvScaleFactor; + } +} diff --git a/src/shaders/marble/ClassicMarb2.hx b/src/shaders/marble/ClassicMarb2.hx index 28b1f56c..0dc5d1a1 100644 --- a/src/shaders/marble/ClassicMarb2.hx +++ b/src/shaders/marble/ClassicMarb2.hx @@ -6,9 +6,6 @@ class ClassicMarb2 extends hxsl.Shader { @param var envMap:SamplerCube; @param var shininess:Float; @param var specularColor:Vec4; - @param var ambientLight:Vec3; - @param var dirLight:Vec3; - @param var dirLightDir:Vec3; @param var uvScaleFactor:Float; @global var camera:{ var position:Vec3; @@ -36,12 +33,16 @@ class ClassicMarb2 extends hxsl.Shader { } function vertex() { calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); fragLightW = step(-0.5, dot(dirLight, input.normal)); } function fragment() { // Diffuse part var texColor = diffuseMap.get(calculatedUV); + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + var diffuse = dirLight * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; // Specular @@ -53,33 +54,25 @@ class ClassicMarb2 extends hxsl.Shader { var viewDir = normalize(camera.position - pixelTransformedPosition); // Fresnel - var fresnelBias = 0.0; - var fresnelPow = 1.2; - var fresnelScale = 1.0; - var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, transformedNormal), 0.0), fresnelPow); var incidentRay = normalize(pixelTransformedPosition - camera.position); var reflectionRay = reflect(incidentRay, transformedNormal); var reflectColor = envMap.get(reflectionRay); - var outCol = mix(texColor * 1.2, reflectColor, fresnelTerm); - outCol *= vec4(diffuse, 1); + var outCol = mix(texColor * diffuse * 1.2, reflectColor * diffuse, texColor.a); outCol += specular * texColor.a * 0.5; pixelColor = outCol; } } - public function new(diffuse, skybox, shininess, specularVal, ambientLight, dirLight, dirLightDir, uvScaleFactor) { + public function new(diffuse, skybox, shininess, specularVal, uvScaleFactor) { super(); this.diffuseMap = diffuse; this.envMap = skybox; this.shininess = shininess; this.specularColor = specularVal; - this.ambientLight = ambientLight.clone(); - this.dirLight = dirLight.clone(); - this.dirLightDir = dirLightDir.clone(); this.uvScaleFactor = uvScaleFactor; } } diff --git a/src/shaders/marble/ClassicMarb3.hx b/src/shaders/marble/ClassicMarb3.hx index c120e352..6c67e664 100644 --- a/src/shaders/marble/ClassicMarb3.hx +++ b/src/shaders/marble/ClassicMarb3.hx @@ -6,9 +6,6 @@ class ClassicMarb3 extends hxsl.Shader { @param var envMap:SamplerCube; @param var shininess:Float; @param var specularColor:Vec4; - @param var ambientLight:Vec3; - @param var dirLight:Vec3; - @param var dirLightDir:Vec3; @param var uvScaleFactor:Float; @global var camera:{ var position:Vec3; @@ -36,13 +33,17 @@ class ClassicMarb3 extends hxsl.Shader { } function vertex() { calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); fragLightW = step(-0.5, dot(dirLight, input.normal)); } function fragment() { // Diffuse part var texColor = diffuseMap.get(calculatedUV); - var diffuse = vec4(dirLight, 1) * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + + var diffuse = dirLight * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; // Specular var eyeVec = (camera.position - transformedPosition).normalize(); @@ -67,15 +68,12 @@ class ClassicMarb3 extends hxsl.Shader { } } - public function new(diffuse, skybox, shininess, specularVal, ambientLight, dirLight, dirLightDir, uvScaleFactor) { + public function new(diffuse, skybox, shininess, specularVal, uvScaleFactor) { super(); this.diffuseMap = diffuse; this.envMap = skybox; this.shininess = shininess; this.specularColor = specularVal; - this.ambientLight = ambientLight.clone(); - this.dirLight = dirLight.clone(); - this.dirLightDir = dirLightDir.clone(); this.uvScaleFactor = uvScaleFactor; } } diff --git a/src/shaders/marble/ClassicMetal.hx b/src/shaders/marble/ClassicMetal.hx index 1a251e29..39d8ec64 100644 --- a/src/shaders/marble/ClassicMetal.hx +++ b/src/shaders/marble/ClassicMetal.hx @@ -7,9 +7,6 @@ class ClassicMetal extends hxsl.Shader { @param var envMap:SamplerCube; @param var shininess:Float; @param var specularColor:Vec4; - @param var ambientLight:Vec3; - @param var dirLight:Vec3; - @param var dirLightDir:Vec3; @param var uvScaleFactor:Float; @global var camera:{ var position:Vec3; @@ -21,7 +18,7 @@ class ClassicMetal extends hxsl.Shader { }; @input var input:{ var normal:Vec3; - var tangent:Vec3; + var t:Vec3; var uv:Vec2; }; var calculatedUV:Vec2; @@ -33,69 +30,83 @@ class ClassicMetal extends hxsl.Shader { var pixelTransformedPosition:Vec3; @var var transformedTangent:Vec4; @var var fragLightW:Float; + @var var cubeEyePos:Vec3; function lambert(normal:Vec3, lightPosition:Vec3):Float { var result = dot(normal, lightPosition); return saturate(result); } function __init__vertex() { - transformedTangent = vec4(input.tangent * global.modelView.mat3(), input.tangent.dot(input.tangent) > 0.5 ? 1. : -1.); + transformedTangent = vec4(input.t * global.modelView.mat3(), input.t.dot(input.t) > 0.5 ? 1. : -1.); } function vertex() { calculatedUV = input.uv * uvScaleFactor; + var dirLight = vec3(-0.5732, 0.27536, -0.77176); fragLightW = step(-0.5, dot(dirLight, input.normal)); + + var cubeTrans = mat3(global.modelView); + cubeEyePos = camera.position - global.modelView[3].xyz; + cubeEyePos.x *= -1; + cubeEyePos.x *= -1; + cubeEyePos = cubeEyePos.normalize(); } function fragment() { // Diffuse part var texColor = diffuseMap.get(calculatedUV); var bumpColor = normalMap.get(calculatedUV); + var norm = normalize(bumpColor * 2 - 1).xyz; + + var dirLight = vec4(1.08, 1.03, 0.90, 1); + var dirLightDir = vec3(-0.5732, 0.27536, -0.77176); + // Normal var n = transformedNormal; - var nf = unpackNormal(bumpColor); + var nf = normalize(bumpColor * 2 - 1); var tanX = transformedTangent.xyz.normalize(); var tanY = n.cross(tanX) * transformedTangent.w; transformedNormal = (nf.x * tanX + nf.y * tanY + nf.z * n).normalize(); - var diffuse = dirLight * (dot(transformedNormal, -dirLightDir) + 1.3) * 0.5; + var diffuse = dirLight * (dot(norm, -dirLightDir) + 1.3) * 0.5; // Specular var eyeVec = (camera.position - transformedPosition).normalize(); var halfAng = (eyeVec - dirLightDir).normalize(); - var specValue = saturate(transformedNormal.dot(halfAng)) * fragLightW; + var specValue = saturate(norm.dot(halfAng)) * fragLightW; var specular = specularColor * pow(specValue, shininess); var viewDir = normalize(camera.position - pixelTransformedPosition); + norm = norm * mat3(global.modelView); + // Fresnel var fresnelBias = 0.0; var fresnelPow = 1.2; var fresnelScale = 1.0; - var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, transformedNormal), 0.0), fresnelPow); + var fresnelTerm = fresnelBias + fresnelScale * (1.0 - fresnelBias) * pow(1.0 - max(dot(viewDir, norm), 0.0), fresnelPow); + + var reflectVec = 2 * norm.dot(cubeEyePos) * norm - cubeEyePos * norm.dot(norm); var incidentRay = normalize(pixelTransformedPosition - camera.position); - var reflectionRay = reflect(incidentRay, transformedNormal); + var reflectionRay = reflect(incidentRay, norm); - var reflectColor = envMap.get(reflectionRay); + var reflectColor = envMap.get(reflectVec); var finalReflectColor = vec4((reflectColor.r + reflectColor.g + reflectColor.b) / 3.0); var outCol = texColor * mix(vec4(1), finalReflectColor, bumpColor.a); - outCol *= vec4(diffuse, 1); + outCol *= diffuse; outCol += specular * bumpColor.a; pixelColor = outCol; } } - public function new(diffuse, normal, skybox, shininess, specularVal, ambientLight, dirLight, dirLightDir, uvScaleFactor) { + public function new(diffuse, normal, skybox, shininess, specularVal, uvScaleFactor) { super(); this.diffuseMap = diffuse; this.normalMap = normal; this.envMap = skybox; this.shininess = shininess; this.specularColor = specularVal; - this.ambientLight = ambientLight.clone(); - this.dirLight = dirLight.clone(); - this.dirLightDir = dirLightDir.clone(); this.uvScaleFactor = uvScaleFactor; } }