diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 374e7245c..40453d7c5 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -380,7 +380,6 @@ {"name":"__raymarching","order":4,"path":"scripts/__raymarching/__raymarching.yy",}, {"name":"__rectangle","order":7,"path":"scripts/__rectangle/__rectangle.yy",}, {"name":"__shapes","order":3,"path":"scripts/__shapes/__shapes.yy",}, - {"name":"__sliderRange","order":3,"path":"scripts/__sliderRange/__sliderRange.yy",}, {"name":"__strandSim","order":2,"path":"scripts/__strandSim/__strandSim.yy",}, {"name":"__surface","order":7,"path":"scripts/__surface/__surface.yy",}, {"name":"__vec2","order":7,"path":"scripts/__vec2/__vec2.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index aa91d2fc5..fb075081a 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -853,7 +853,6 @@ {"id":{"name":"__raymarching","path":"scripts/__raymarching/__raymarching.yy",},}, {"id":{"name":"__rectangle","path":"scripts/__rectangle/__rectangle.yy",},}, {"id":{"name":"__shapes","path":"scripts/__shapes/__shapes.yy",},}, - {"id":{"name":"__sliderRange","path":"scripts/__sliderRange/__sliderRange.yy",},}, {"id":{"name":"__strandSim","path":"scripts/__strandSim/__strandSim.yy",},}, {"id":{"name":"__surface","path":"scripts/__surface/__surface.yy",},}, {"id":{"name":"__vec2","path":"scripts/__vec2/__vec2.yy",},}, diff --git a/datafiles/data/Theme.zip b/datafiles/data/Theme.zip index 35c3010ed..9db69aa5e 100644 Binary files a/datafiles/data/Theme.zip and b/datafiles/data/Theme.zip differ diff --git a/fonts/_f_p4/_f_p4.old.png b/fonts/_f_p4/_f_p4.old.png index 72239181b..ad724d1ed 100644 Binary files a/fonts/_f_p4/_f_p4.old.png and b/fonts/_f_p4/_f_p4.old.png differ diff --git a/fonts/_f_p4/_f_p4.old.yy b/fonts/_f_p4/_f_p4.old.yy index dec091a9c..6a4978f8d 100644 --- a/fonts/_f_p4/_f_p4.old.yy +++ b/fonts/_f_p4/_f_p4.old.yy @@ -9,105 +9,105 @@ "canGenerateBitmap":true, "charset":0, "first":0, - "fontName":"Noto Sans", + "fontName":"Noto Sans SemiBold", "glyphOperations":0, "glyphs":{ "32":{"character":32,"h":15,"offset":0,"shift":3,"w":3,"x":2,"y":2,}, - "33":{"character":33,"h":15,"offset":0,"shift":3,"w":3,"x":66,"y":70,}, - "34":{"character":34,"h":15,"offset":0,"shift":5,"w":5,"x":59,"y":70,}, - "35":{"character":35,"h":15,"offset":0,"shift":7,"w":7,"x":50,"y":70,}, - "36":{"character":36,"h":15,"offset":0,"shift":6,"w":6,"x":42,"y":70,}, - "37":{"character":37,"h":15,"offset":0,"shift":10,"w":10,"x":30,"y":70,}, - "38":{"character":38,"h":15,"offset":0,"shift":8,"w":9,"x":19,"y":70,}, - "39":{"character":39,"h":15,"offset":0,"shift":3,"w":3,"x":14,"y":70,}, - "40":{"character":40,"h":15,"offset":0,"shift":4,"w":4,"x":8,"y":70,}, - "41":{"character":41,"h":15,"offset":0,"shift":4,"w":4,"x":2,"y":70,}, - "42":{"character":42,"h":15,"offset":0,"shift":6,"w":6,"x":71,"y":70,}, - "43":{"character":43,"h":15,"offset":0,"shift":6,"w":6,"x":117,"y":53,}, - "44":{"character":44,"h":15,"offset":0,"shift":3,"w":3,"x":104,"y":53,}, - "45":{"character":45,"h":15,"offset":0,"shift":4,"w":4,"x":98,"y":53,}, - "46":{"character":46,"h":15,"offset":0,"shift":3,"w":3,"x":93,"y":53,}, - "47":{"character":47,"h":15,"offset":0,"shift":5,"w":5,"x":86,"y":53,}, - "48":{"character":48,"h":15,"offset":0,"shift":6,"w":6,"x":78,"y":53,}, - "49":{"character":49,"h":15,"offset":0,"shift":6,"w":5,"x":71,"y":53,}, - "50":{"character":50,"h":15,"offset":0,"shift":6,"w":6,"x":63,"y":53,}, - "51":{"character":51,"h":15,"offset":0,"shift":6,"w":6,"x":55,"y":53,}, - "52":{"character":52,"h":15,"offset":0,"shift":6,"w":7,"x":46,"y":53,}, - "53":{"character":53,"h":15,"offset":0,"shift":6,"w":6,"x":109,"y":53,}, - "54":{"character":54,"h":15,"offset":0,"shift":6,"w":6,"x":79,"y":70,}, - "55":{"character":55,"h":15,"offset":0,"shift":6,"w":6,"x":87,"y":70,}, - "56":{"character":56,"h":15,"offset":0,"shift":6,"w":6,"x":95,"y":70,}, - "57":{"character":57,"h":15,"offset":0,"shift":6,"w":6,"x":28,"y":104,}, - "58":{"character":58,"h":15,"offset":0,"shift":3,"w":3,"x":23,"y":104,}, - "59":{"character":59,"h":15,"offset":0,"shift":3,"w":3,"x":18,"y":104,}, - "60":{"character":60,"h":15,"offset":0,"shift":6,"w":6,"x":10,"y":104,}, - "61":{"character":61,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":104,}, - "62":{"character":62,"h":15,"offset":0,"shift":6,"w":6,"x":117,"y":87,}, - "63":{"character":63,"h":15,"offset":0,"shift":5,"w":5,"x":110,"y":87,}, - "64":{"character":64,"h":15,"offset":0,"shift":10,"w":10,"x":98,"y":87,}, - "65":{"character":65,"h":15,"offset":0,"shift":8,"w":8,"x":88,"y":87,}, - "66":{"character":66,"h":15,"offset":0,"shift":7,"w":7,"x":79,"y":87,}, - "67":{"character":67,"h":15,"offset":0,"shift":7,"w":7,"x":70,"y":87,}, - "68":{"character":68,"h":15,"offset":0,"shift":8,"w":8,"x":60,"y":87,}, - "69":{"character":69,"h":15,"offset":0,"shift":6,"w":6,"x":52,"y":87,}, - "70":{"character":70,"h":15,"offset":0,"shift":6,"w":6,"x":44,"y":87,}, - "71":{"character":71,"h":15,"offset":0,"shift":8,"w":8,"x":34,"y":87,}, - "72":{"character":72,"h":15,"offset":0,"shift":8,"w":8,"x":24,"y":87,}, - "73":{"character":73,"h":15,"offset":0,"shift":4,"w":4,"x":18,"y":87,}, - "74":{"character":74,"h":15,"offset":-1,"shift":4,"w":4,"x":12,"y":87,}, - "75":{"character":75,"h":15,"offset":0,"shift":7,"w":8,"x":2,"y":87,}, - "76":{"character":76,"h":15,"offset":0,"shift":6,"w":6,"x":115,"y":70,}, - "77":{"character":77,"h":15,"offset":0,"shift":10,"w":10,"x":103,"y":70,}, - "78":{"character":78,"h":15,"offset":0,"shift":9,"w":8,"x":36,"y":53,}, - "79":{"character":79,"h":15,"offset":0,"shift":9,"w":9,"x":25,"y":53,}, - "80":{"character":80,"h":15,"offset":0,"shift":7,"w":7,"x":16,"y":53,}, - "81":{"character":81,"h":15,"offset":0,"shift":9,"w":9,"x":68,"y":19,}, - "82":{"character":82,"h":15,"offset":0,"shift":7,"w":8,"x":52,"y":19,}, - "83":{"character":83,"h":15,"offset":0,"shift":6,"w":6,"x":44,"y":19,}, - "84":{"character":84,"h":15,"offset":0,"shift":6,"w":7,"x":35,"y":19,}, - "85":{"character":85,"h":15,"offset":0,"shift":8,"w":8,"x":25,"y":19,}, - "86":{"character":86,"h":15,"offset":0,"shift":7,"w":8,"x":15,"y":19,}, - "87":{"character":87,"h":15,"offset":0,"shift":11,"w":11,"x":2,"y":19,}, - "88":{"character":88,"h":15,"offset":0,"shift":7,"w":8,"x":110,"y":2,}, - "89":{"character":89,"h":15,"offset":0,"shift":7,"w":7,"x":101,"y":2,}, - "90":{"character":90,"h":15,"offset":0,"shift":6,"w":7,"x":92,"y":2,}, - "91":{"character":91,"h":15,"offset":0,"shift":4,"w":4,"x":62,"y":19,}, - "92":{"character":92,"h":15,"offset":0,"shift":5,"w":5,"x":85,"y":2,}, - "93":{"character":93,"h":15,"offset":0,"shift":4,"w":3,"x":73,"y":2,}, - "94":{"character":94,"h":15,"offset":0,"shift":6,"w":7,"x":64,"y":2,}, - "95":{"character":95,"h":15,"offset":-1,"shift":5,"w":6,"x":56,"y":2,}, - "96":{"character":96,"h":15,"offset":0,"shift":4,"w":4,"x":50,"y":2,}, - "97":{"character":97,"h":15,"offset":0,"shift":7,"w":6,"x":42,"y":2,}, - "98":{"character":98,"h":15,"offset":0,"shift":7,"w":7,"x":33,"y":2,}, - "99":{"character":99,"h":15,"offset":0,"shift":6,"w":6,"x":25,"y":2,}, - "100":{"character":100,"h":15,"offset":0,"shift":7,"w":7,"x":16,"y":2,}, - "101":{"character":101,"h":15,"offset":0,"shift":7,"w":7,"x":7,"y":2,}, - "102":{"character":102,"h":15,"offset":0,"shift":4,"w":5,"x":78,"y":2,}, - "103":{"character":103,"h":15,"offset":0,"shift":7,"w":7,"x":79,"y":19,}, - "104":{"character":104,"h":15,"offset":0,"shift":7,"w":7,"x":41,"y":36,}, - "105":{"character":105,"h":15,"offset":0,"shift":3,"w":3,"x":88,"y":19,}, - "106":{"character":106,"h":15,"offset":-1,"shift":3,"w":4,"x":2,"y":53,}, - "107":{"character":107,"h":15,"offset":0,"shift":7,"w":7,"x":117,"y":36,}, - "108":{"character":108,"h":15,"offset":0,"shift":3,"w":3,"x":112,"y":36,}, - "109":{"character":109,"h":15,"offset":0,"shift":11,"w":10,"x":100,"y":36,}, - "110":{"character":110,"h":15,"offset":0,"shift":7,"w":7,"x":91,"y":36,}, - "111":{"character":111,"h":15,"offset":0,"shift":7,"w":7,"x":82,"y":36,}, - "112":{"character":112,"h":15,"offset":0,"shift":7,"w":7,"x":73,"y":36,}, - "113":{"character":113,"h":15,"offset":0,"shift":7,"w":7,"x":64,"y":36,}, - "114":{"character":114,"h":15,"offset":0,"shift":5,"w":5,"x":57,"y":36,}, - "115":{"character":115,"h":15,"offset":0,"shift":5,"w":6,"x":8,"y":53,}, - "116":{"character":116,"h":15,"offset":0,"shift":5,"w":5,"x":50,"y":36,}, - "117":{"character":117,"h":15,"offset":0,"shift":7,"w":7,"x":32,"y":36,}, - "118":{"character":118,"h":15,"offset":0,"shift":6,"w":7,"x":23,"y":36,}, - "119":{"character":119,"h":15,"offset":0,"shift":9,"w":10,"x":11,"y":36,}, - "120":{"character":120,"h":15,"offset":0,"shift":6,"w":7,"x":2,"y":36,}, - "121":{"character":121,"h":15,"offset":0,"shift":6,"w":7,"x":118,"y":19,}, - "122":{"character":122,"h":15,"offset":0,"shift":5,"w":6,"x":110,"y":19,}, - "123":{"character":123,"h":15,"offset":0,"shift":4,"w":4,"x":104,"y":19,}, - "124":{"character":124,"h":15,"offset":2,"shift":6,"w":2,"x":100,"y":19,}, - "125":{"character":125,"h":15,"offset":0,"shift":4,"w":5,"x":93,"y":19,}, - "126":{"character":126,"h":15,"offset":0,"shift":6,"w":6,"x":36,"y":104,}, - "9647":{"character":9647,"h":15,"offset":2,"shift":11,"w":7,"x":44,"y":104,}, + "33":{"character":33,"h":15,"offset":0,"shift":3,"w":3,"x":37,"y":70,}, + "34":{"character":34,"h":15,"offset":0,"shift":5,"w":5,"x":30,"y":70,}, + "35":{"character":35,"h":15,"offset":0,"shift":7,"w":7,"x":21,"y":70,}, + "36":{"character":36,"h":15,"offset":0,"shift":6,"w":6,"x":13,"y":70,}, + "37":{"character":37,"h":15,"offset":0,"shift":9,"w":9,"x":2,"y":70,}, + "38":{"character":38,"h":15,"offset":0,"shift":8,"w":8,"x":115,"y":53,}, + "39":{"character":39,"h":15,"offset":0,"shift":3,"w":2,"x":111,"y":53,}, + "40":{"character":40,"h":15,"offset":0,"shift":3,"w":4,"x":105,"y":53,}, + "41":{"character":41,"h":15,"offset":0,"shift":3,"w":4,"x":99,"y":53,}, + "42":{"character":42,"h":15,"offset":0,"shift":6,"w":6,"x":42,"y":70,}, + "43":{"character":43,"h":15,"offset":0,"shift":6,"w":6,"x":91,"y":53,}, + "44":{"character":44,"h":15,"offset":0,"shift":3,"w":3,"x":78,"y":53,}, + "45":{"character":45,"h":15,"offset":0,"shift":3,"w":4,"x":72,"y":53,}, + "46":{"character":46,"h":15,"offset":0,"shift":3,"w":3,"x":67,"y":53,}, + "47":{"character":47,"h":15,"offset":0,"shift":4,"w":5,"x":60,"y":53,}, + "48":{"character":48,"h":15,"offset":0,"shift":6,"w":6,"x":52,"y":53,}, + "49":{"character":49,"h":15,"offset":0,"shift":6,"w":5,"x":45,"y":53,}, + "50":{"character":50,"h":15,"offset":0,"shift":6,"w":6,"x":37,"y":53,}, + "51":{"character":51,"h":15,"offset":0,"shift":6,"w":6,"x":29,"y":53,}, + "52":{"character":52,"h":15,"offset":0,"shift":6,"w":6,"x":21,"y":53,}, + "53":{"character":53,"h":15,"offset":0,"shift":6,"w":6,"x":83,"y":53,}, + "54":{"character":54,"h":15,"offset":0,"shift":6,"w":6,"x":50,"y":70,}, + "55":{"character":55,"h":15,"offset":0,"shift":6,"w":6,"x":58,"y":70,}, + "56":{"character":56,"h":15,"offset":0,"shift":6,"w":6,"x":66,"y":70,}, + "57":{"character":57,"h":15,"offset":0,"shift":6,"w":6,"x":114,"y":87,}, + "58":{"character":58,"h":15,"offset":0,"shift":3,"w":3,"x":109,"y":87,}, + "59":{"character":59,"h":15,"offset":0,"shift":3,"w":3,"x":104,"y":87,}, + "60":{"character":60,"h":15,"offset":0,"shift":6,"w":6,"x":96,"y":87,}, + "61":{"character":61,"h":15,"offset":0,"shift":6,"w":6,"x":88,"y":87,}, + "62":{"character":62,"h":15,"offset":0,"shift":6,"w":6,"x":80,"y":87,}, + "63":{"character":63,"h":15,"offset":0,"shift":5,"w":5,"x":73,"y":87,}, + "64":{"character":64,"h":15,"offset":0,"shift":10,"w":10,"x":61,"y":87,}, + "65":{"character":65,"h":15,"offset":0,"shift":7,"w":8,"x":51,"y":87,}, + "66":{"character":66,"h":15,"offset":1,"shift":7,"w":6,"x":43,"y":87,}, + "67":{"character":67,"h":15,"offset":0,"shift":7,"w":7,"x":34,"y":87,}, + "68":{"character":68,"h":15,"offset":1,"shift":8,"w":7,"x":25,"y":87,}, + "69":{"character":69,"h":15,"offset":1,"shift":6,"w":5,"x":18,"y":87,}, + "70":{"character":70,"h":15,"offset":1,"shift":6,"w":5,"x":11,"y":87,}, + "71":{"character":71,"h":15,"offset":0,"shift":8,"w":7,"x":2,"y":87,}, + "72":{"character":72,"h":15,"offset":1,"shift":8,"w":7,"x":111,"y":70,}, + "73":{"character":73,"h":15,"offset":0,"shift":4,"w":4,"x":105,"y":70,}, + "74":{"character":74,"h":15,"offset":-1,"shift":3,"w":4,"x":99,"y":70,}, + "75":{"character":75,"h":15,"offset":1,"shift":7,"w":6,"x":91,"y":70,}, + "76":{"character":76,"h":15,"offset":1,"shift":6,"w":5,"x":84,"y":70,}, + "77":{"character":77,"h":15,"offset":1,"shift":10,"w":8,"x":74,"y":70,}, + "78":{"character":78,"h":15,"offset":1,"shift":8,"w":7,"x":12,"y":53,}, + "79":{"character":79,"h":15,"offset":0,"shift":8,"w":8,"x":2,"y":53,}, + "80":{"character":80,"h":15,"offset":1,"shift":7,"w":6,"x":115,"y":36,}, + "81":{"character":81,"h":15,"offset":0,"shift":8,"w":8,"x":51,"y":19,}, + "82":{"character":82,"h":15,"offset":1,"shift":7,"w":6,"x":37,"y":19,}, + "83":{"character":83,"h":15,"offset":0,"shift":6,"w":6,"x":29,"y":19,}, + "84":{"character":84,"h":15,"offset":0,"shift":6,"w":6,"x":21,"y":19,}, + "85":{"character":85,"h":15,"offset":0,"shift":8,"w":8,"x":11,"y":19,}, + "86":{"character":86,"h":15,"offset":0,"shift":7,"w":7,"x":2,"y":19,}, + "87":{"character":87,"h":15,"offset":0,"shift":10,"w":11,"x":114,"y":2,}, + "88":{"character":88,"h":15,"offset":0,"shift":7,"w":7,"x":105,"y":2,}, + "89":{"character":89,"h":15,"offset":0,"shift":6,"w":7,"x":96,"y":2,}, + "90":{"character":90,"h":15,"offset":0,"shift":6,"w":6,"x":88,"y":2,}, + "91":{"character":91,"h":15,"offset":0,"shift":4,"w":4,"x":45,"y":19,}, + "92":{"character":92,"h":15,"offset":0,"shift":4,"w":5,"x":81,"y":2,}, + "93":{"character":93,"h":15,"offset":0,"shift":4,"w":3,"x":69,"y":2,}, + "94":{"character":94,"h":15,"offset":0,"shift":6,"w":6,"x":61,"y":2,}, + "95":{"character":95,"h":15,"offset":-1,"shift":5,"w":6,"x":53,"y":2,}, + "96":{"character":96,"h":15,"offset":0,"shift":4,"w":4,"x":47,"y":2,}, + "97":{"character":97,"h":15,"offset":0,"shift":6,"w":6,"x":39,"y":2,}, + "98":{"character":98,"h":15,"offset":0,"shift":7,"w":7,"x":30,"y":2,}, + "99":{"character":99,"h":15,"offset":0,"shift":5,"w":5,"x":23,"y":2,}, + "100":{"character":100,"h":15,"offset":0,"shift":7,"w":6,"x":15,"y":2,}, + "101":{"character":101,"h":15,"offset":0,"shift":6,"w":6,"x":7,"y":2,}, + "102":{"character":102,"h":15,"offset":0,"shift":4,"w":5,"x":74,"y":2,}, + "103":{"character":103,"h":15,"offset":0,"shift":7,"w":6,"x":61,"y":19,}, + "104":{"character":104,"h":15,"offset":0,"shift":7,"w":7,"x":18,"y":36,}, + "105":{"character":105,"h":15,"offset":0,"shift":3,"w":3,"x":69,"y":19,}, + "106":{"character":106,"h":15,"offset":-1,"shift":3,"w":4,"x":102,"y":36,}, + "107":{"character":107,"h":15,"offset":0,"shift":6,"w":7,"x":93,"y":36,}, + "108":{"character":108,"h":15,"offset":0,"shift":3,"w":3,"x":88,"y":36,}, + "109":{"character":109,"h":15,"offset":0,"shift":10,"w":10,"x":76,"y":36,}, + "110":{"character":110,"h":15,"offset":0,"shift":7,"w":7,"x":67,"y":36,}, + "111":{"character":111,"h":15,"offset":0,"shift":7,"w":7,"x":58,"y":36,}, + "112":{"character":112,"h":15,"offset":0,"shift":7,"w":7,"x":49,"y":36,}, + "113":{"character":113,"h":15,"offset":0,"shift":7,"w":6,"x":41,"y":36,}, + "114":{"character":114,"h":15,"offset":0,"shift":5,"w":5,"x":34,"y":36,}, + "115":{"character":115,"h":15,"offset":0,"shift":5,"w":5,"x":108,"y":36,}, + "116":{"character":116,"h":15,"offset":0,"shift":4,"w":5,"x":27,"y":36,}, + "117":{"character":117,"h":15,"offset":0,"shift":7,"w":6,"x":10,"y":36,}, + "118":{"character":118,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":36,}, + "119":{"character":119,"h":15,"offset":0,"shift":9,"w":9,"x":113,"y":19,}, + "120":{"character":120,"h":15,"offset":0,"shift":6,"w":6,"x":105,"y":19,}, + "121":{"character":121,"h":15,"offset":0,"shift":6,"w":6,"x":97,"y":19,}, + "122":{"character":122,"h":15,"offset":0,"shift":5,"w":5,"x":90,"y":19,}, + "123":{"character":123,"h":15,"offset":0,"shift":4,"w":4,"x":84,"y":19,}, + "124":{"character":124,"h":15,"offset":2,"shift":6,"w":2,"x":80,"y":19,}, + "125":{"character":125,"h":15,"offset":0,"shift":4,"w":4,"x":74,"y":19,}, + "126":{"character":126,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":104,}, + "9647":{"character":9647,"h":15,"offset":2,"shift":11,"w":7,"x":10,"y":104,}, }, "hinting":0, "includeTTF":false, @@ -133,7 +133,7 @@ "sampleText":"abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", "sdfSpread":8, "size":8.0, - "styleName":"Bold", + "styleName":"SemiBold", "textureGroupId":{ "name":"Default", "path":"texturegroups/Default", diff --git a/fonts/_f_p4/_f_p4.png b/fonts/_f_p4/_f_p4.png index ad724d1ed..ea6640cd5 100644 Binary files a/fonts/_f_p4/_f_p4.png and b/fonts/_f_p4/_f_p4.png differ diff --git a/fonts/_f_p4/_f_p4.yy b/fonts/_f_p4/_f_p4.yy index 6a4978f8d..dec091a9c 100644 --- a/fonts/_f_p4/_f_p4.yy +++ b/fonts/_f_p4/_f_p4.yy @@ -9,105 +9,105 @@ "canGenerateBitmap":true, "charset":0, "first":0, - "fontName":"Noto Sans SemiBold", + "fontName":"Noto Sans", "glyphOperations":0, "glyphs":{ "32":{"character":32,"h":15,"offset":0,"shift":3,"w":3,"x":2,"y":2,}, - "33":{"character":33,"h":15,"offset":0,"shift":3,"w":3,"x":37,"y":70,}, - "34":{"character":34,"h":15,"offset":0,"shift":5,"w":5,"x":30,"y":70,}, - "35":{"character":35,"h":15,"offset":0,"shift":7,"w":7,"x":21,"y":70,}, - "36":{"character":36,"h":15,"offset":0,"shift":6,"w":6,"x":13,"y":70,}, - "37":{"character":37,"h":15,"offset":0,"shift":9,"w":9,"x":2,"y":70,}, - "38":{"character":38,"h":15,"offset":0,"shift":8,"w":8,"x":115,"y":53,}, - "39":{"character":39,"h":15,"offset":0,"shift":3,"w":2,"x":111,"y":53,}, - "40":{"character":40,"h":15,"offset":0,"shift":3,"w":4,"x":105,"y":53,}, - "41":{"character":41,"h":15,"offset":0,"shift":3,"w":4,"x":99,"y":53,}, - "42":{"character":42,"h":15,"offset":0,"shift":6,"w":6,"x":42,"y":70,}, - "43":{"character":43,"h":15,"offset":0,"shift":6,"w":6,"x":91,"y":53,}, - "44":{"character":44,"h":15,"offset":0,"shift":3,"w":3,"x":78,"y":53,}, - "45":{"character":45,"h":15,"offset":0,"shift":3,"w":4,"x":72,"y":53,}, - "46":{"character":46,"h":15,"offset":0,"shift":3,"w":3,"x":67,"y":53,}, - "47":{"character":47,"h":15,"offset":0,"shift":4,"w":5,"x":60,"y":53,}, - "48":{"character":48,"h":15,"offset":0,"shift":6,"w":6,"x":52,"y":53,}, - "49":{"character":49,"h":15,"offset":0,"shift":6,"w":5,"x":45,"y":53,}, - "50":{"character":50,"h":15,"offset":0,"shift":6,"w":6,"x":37,"y":53,}, - "51":{"character":51,"h":15,"offset":0,"shift":6,"w":6,"x":29,"y":53,}, - "52":{"character":52,"h":15,"offset":0,"shift":6,"w":6,"x":21,"y":53,}, - "53":{"character":53,"h":15,"offset":0,"shift":6,"w":6,"x":83,"y":53,}, - "54":{"character":54,"h":15,"offset":0,"shift":6,"w":6,"x":50,"y":70,}, - "55":{"character":55,"h":15,"offset":0,"shift":6,"w":6,"x":58,"y":70,}, - "56":{"character":56,"h":15,"offset":0,"shift":6,"w":6,"x":66,"y":70,}, - "57":{"character":57,"h":15,"offset":0,"shift":6,"w":6,"x":114,"y":87,}, - "58":{"character":58,"h":15,"offset":0,"shift":3,"w":3,"x":109,"y":87,}, - "59":{"character":59,"h":15,"offset":0,"shift":3,"w":3,"x":104,"y":87,}, - "60":{"character":60,"h":15,"offset":0,"shift":6,"w":6,"x":96,"y":87,}, - "61":{"character":61,"h":15,"offset":0,"shift":6,"w":6,"x":88,"y":87,}, - "62":{"character":62,"h":15,"offset":0,"shift":6,"w":6,"x":80,"y":87,}, - "63":{"character":63,"h":15,"offset":0,"shift":5,"w":5,"x":73,"y":87,}, - "64":{"character":64,"h":15,"offset":0,"shift":10,"w":10,"x":61,"y":87,}, - "65":{"character":65,"h":15,"offset":0,"shift":7,"w":8,"x":51,"y":87,}, - "66":{"character":66,"h":15,"offset":1,"shift":7,"w":6,"x":43,"y":87,}, - "67":{"character":67,"h":15,"offset":0,"shift":7,"w":7,"x":34,"y":87,}, - "68":{"character":68,"h":15,"offset":1,"shift":8,"w":7,"x":25,"y":87,}, - "69":{"character":69,"h":15,"offset":1,"shift":6,"w":5,"x":18,"y":87,}, - "70":{"character":70,"h":15,"offset":1,"shift":6,"w":5,"x":11,"y":87,}, - "71":{"character":71,"h":15,"offset":0,"shift":8,"w":7,"x":2,"y":87,}, - "72":{"character":72,"h":15,"offset":1,"shift":8,"w":7,"x":111,"y":70,}, - "73":{"character":73,"h":15,"offset":0,"shift":4,"w":4,"x":105,"y":70,}, - "74":{"character":74,"h":15,"offset":-1,"shift":3,"w":4,"x":99,"y":70,}, - "75":{"character":75,"h":15,"offset":1,"shift":7,"w":6,"x":91,"y":70,}, - "76":{"character":76,"h":15,"offset":1,"shift":6,"w":5,"x":84,"y":70,}, - "77":{"character":77,"h":15,"offset":1,"shift":10,"w":8,"x":74,"y":70,}, - "78":{"character":78,"h":15,"offset":1,"shift":8,"w":7,"x":12,"y":53,}, - "79":{"character":79,"h":15,"offset":0,"shift":8,"w":8,"x":2,"y":53,}, - "80":{"character":80,"h":15,"offset":1,"shift":7,"w":6,"x":115,"y":36,}, - "81":{"character":81,"h":15,"offset":0,"shift":8,"w":8,"x":51,"y":19,}, - "82":{"character":82,"h":15,"offset":1,"shift":7,"w":6,"x":37,"y":19,}, - "83":{"character":83,"h":15,"offset":0,"shift":6,"w":6,"x":29,"y":19,}, - "84":{"character":84,"h":15,"offset":0,"shift":6,"w":6,"x":21,"y":19,}, - "85":{"character":85,"h":15,"offset":0,"shift":8,"w":8,"x":11,"y":19,}, - "86":{"character":86,"h":15,"offset":0,"shift":7,"w":7,"x":2,"y":19,}, - "87":{"character":87,"h":15,"offset":0,"shift":10,"w":11,"x":114,"y":2,}, - "88":{"character":88,"h":15,"offset":0,"shift":7,"w":7,"x":105,"y":2,}, - "89":{"character":89,"h":15,"offset":0,"shift":6,"w":7,"x":96,"y":2,}, - "90":{"character":90,"h":15,"offset":0,"shift":6,"w":6,"x":88,"y":2,}, - "91":{"character":91,"h":15,"offset":0,"shift":4,"w":4,"x":45,"y":19,}, - "92":{"character":92,"h":15,"offset":0,"shift":4,"w":5,"x":81,"y":2,}, - "93":{"character":93,"h":15,"offset":0,"shift":4,"w":3,"x":69,"y":2,}, - "94":{"character":94,"h":15,"offset":0,"shift":6,"w":6,"x":61,"y":2,}, - "95":{"character":95,"h":15,"offset":-1,"shift":5,"w":6,"x":53,"y":2,}, - "96":{"character":96,"h":15,"offset":0,"shift":4,"w":4,"x":47,"y":2,}, - "97":{"character":97,"h":15,"offset":0,"shift":6,"w":6,"x":39,"y":2,}, - "98":{"character":98,"h":15,"offset":0,"shift":7,"w":7,"x":30,"y":2,}, - "99":{"character":99,"h":15,"offset":0,"shift":5,"w":5,"x":23,"y":2,}, - "100":{"character":100,"h":15,"offset":0,"shift":7,"w":6,"x":15,"y":2,}, - "101":{"character":101,"h":15,"offset":0,"shift":6,"w":6,"x":7,"y":2,}, - "102":{"character":102,"h":15,"offset":0,"shift":4,"w":5,"x":74,"y":2,}, - "103":{"character":103,"h":15,"offset":0,"shift":7,"w":6,"x":61,"y":19,}, - "104":{"character":104,"h":15,"offset":0,"shift":7,"w":7,"x":18,"y":36,}, - "105":{"character":105,"h":15,"offset":0,"shift":3,"w":3,"x":69,"y":19,}, - "106":{"character":106,"h":15,"offset":-1,"shift":3,"w":4,"x":102,"y":36,}, - "107":{"character":107,"h":15,"offset":0,"shift":6,"w":7,"x":93,"y":36,}, - "108":{"character":108,"h":15,"offset":0,"shift":3,"w":3,"x":88,"y":36,}, - "109":{"character":109,"h":15,"offset":0,"shift":10,"w":10,"x":76,"y":36,}, - "110":{"character":110,"h":15,"offset":0,"shift":7,"w":7,"x":67,"y":36,}, - "111":{"character":111,"h":15,"offset":0,"shift":7,"w":7,"x":58,"y":36,}, - "112":{"character":112,"h":15,"offset":0,"shift":7,"w":7,"x":49,"y":36,}, - "113":{"character":113,"h":15,"offset":0,"shift":7,"w":6,"x":41,"y":36,}, - "114":{"character":114,"h":15,"offset":0,"shift":5,"w":5,"x":34,"y":36,}, - "115":{"character":115,"h":15,"offset":0,"shift":5,"w":5,"x":108,"y":36,}, - "116":{"character":116,"h":15,"offset":0,"shift":4,"w":5,"x":27,"y":36,}, - "117":{"character":117,"h":15,"offset":0,"shift":7,"w":6,"x":10,"y":36,}, - "118":{"character":118,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":36,}, - "119":{"character":119,"h":15,"offset":0,"shift":9,"w":9,"x":113,"y":19,}, - "120":{"character":120,"h":15,"offset":0,"shift":6,"w":6,"x":105,"y":19,}, - "121":{"character":121,"h":15,"offset":0,"shift":6,"w":6,"x":97,"y":19,}, - "122":{"character":122,"h":15,"offset":0,"shift":5,"w":5,"x":90,"y":19,}, - "123":{"character":123,"h":15,"offset":0,"shift":4,"w":4,"x":84,"y":19,}, - "124":{"character":124,"h":15,"offset":2,"shift":6,"w":2,"x":80,"y":19,}, - "125":{"character":125,"h":15,"offset":0,"shift":4,"w":4,"x":74,"y":19,}, - "126":{"character":126,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":104,}, - "9647":{"character":9647,"h":15,"offset":2,"shift":11,"w":7,"x":10,"y":104,}, + "33":{"character":33,"h":15,"offset":0,"shift":3,"w":3,"x":66,"y":70,}, + "34":{"character":34,"h":15,"offset":0,"shift":5,"w":5,"x":59,"y":70,}, + "35":{"character":35,"h":15,"offset":0,"shift":7,"w":7,"x":50,"y":70,}, + "36":{"character":36,"h":15,"offset":0,"shift":6,"w":6,"x":42,"y":70,}, + "37":{"character":37,"h":15,"offset":0,"shift":10,"w":10,"x":30,"y":70,}, + "38":{"character":38,"h":15,"offset":0,"shift":8,"w":9,"x":19,"y":70,}, + "39":{"character":39,"h":15,"offset":0,"shift":3,"w":3,"x":14,"y":70,}, + "40":{"character":40,"h":15,"offset":0,"shift":4,"w":4,"x":8,"y":70,}, + "41":{"character":41,"h":15,"offset":0,"shift":4,"w":4,"x":2,"y":70,}, + "42":{"character":42,"h":15,"offset":0,"shift":6,"w":6,"x":71,"y":70,}, + "43":{"character":43,"h":15,"offset":0,"shift":6,"w":6,"x":117,"y":53,}, + "44":{"character":44,"h":15,"offset":0,"shift":3,"w":3,"x":104,"y":53,}, + "45":{"character":45,"h":15,"offset":0,"shift":4,"w":4,"x":98,"y":53,}, + "46":{"character":46,"h":15,"offset":0,"shift":3,"w":3,"x":93,"y":53,}, + "47":{"character":47,"h":15,"offset":0,"shift":5,"w":5,"x":86,"y":53,}, + "48":{"character":48,"h":15,"offset":0,"shift":6,"w":6,"x":78,"y":53,}, + "49":{"character":49,"h":15,"offset":0,"shift":6,"w":5,"x":71,"y":53,}, + "50":{"character":50,"h":15,"offset":0,"shift":6,"w":6,"x":63,"y":53,}, + "51":{"character":51,"h":15,"offset":0,"shift":6,"w":6,"x":55,"y":53,}, + "52":{"character":52,"h":15,"offset":0,"shift":6,"w":7,"x":46,"y":53,}, + "53":{"character":53,"h":15,"offset":0,"shift":6,"w":6,"x":109,"y":53,}, + "54":{"character":54,"h":15,"offset":0,"shift":6,"w":6,"x":79,"y":70,}, + "55":{"character":55,"h":15,"offset":0,"shift":6,"w":6,"x":87,"y":70,}, + "56":{"character":56,"h":15,"offset":0,"shift":6,"w":6,"x":95,"y":70,}, + "57":{"character":57,"h":15,"offset":0,"shift":6,"w":6,"x":28,"y":104,}, + "58":{"character":58,"h":15,"offset":0,"shift":3,"w":3,"x":23,"y":104,}, + "59":{"character":59,"h":15,"offset":0,"shift":3,"w":3,"x":18,"y":104,}, + "60":{"character":60,"h":15,"offset":0,"shift":6,"w":6,"x":10,"y":104,}, + "61":{"character":61,"h":15,"offset":0,"shift":6,"w":6,"x":2,"y":104,}, + "62":{"character":62,"h":15,"offset":0,"shift":6,"w":6,"x":117,"y":87,}, + "63":{"character":63,"h":15,"offset":0,"shift":5,"w":5,"x":110,"y":87,}, + "64":{"character":64,"h":15,"offset":0,"shift":10,"w":10,"x":98,"y":87,}, + "65":{"character":65,"h":15,"offset":0,"shift":8,"w":8,"x":88,"y":87,}, + "66":{"character":66,"h":15,"offset":0,"shift":7,"w":7,"x":79,"y":87,}, + "67":{"character":67,"h":15,"offset":0,"shift":7,"w":7,"x":70,"y":87,}, + "68":{"character":68,"h":15,"offset":0,"shift":8,"w":8,"x":60,"y":87,}, + "69":{"character":69,"h":15,"offset":0,"shift":6,"w":6,"x":52,"y":87,}, + "70":{"character":70,"h":15,"offset":0,"shift":6,"w":6,"x":44,"y":87,}, + "71":{"character":71,"h":15,"offset":0,"shift":8,"w":8,"x":34,"y":87,}, + "72":{"character":72,"h":15,"offset":0,"shift":8,"w":8,"x":24,"y":87,}, + "73":{"character":73,"h":15,"offset":0,"shift":4,"w":4,"x":18,"y":87,}, + "74":{"character":74,"h":15,"offset":-1,"shift":4,"w":4,"x":12,"y":87,}, + "75":{"character":75,"h":15,"offset":0,"shift":7,"w":8,"x":2,"y":87,}, + "76":{"character":76,"h":15,"offset":0,"shift":6,"w":6,"x":115,"y":70,}, + "77":{"character":77,"h":15,"offset":0,"shift":10,"w":10,"x":103,"y":70,}, + "78":{"character":78,"h":15,"offset":0,"shift":9,"w":8,"x":36,"y":53,}, + "79":{"character":79,"h":15,"offset":0,"shift":9,"w":9,"x":25,"y":53,}, + "80":{"character":80,"h":15,"offset":0,"shift":7,"w":7,"x":16,"y":53,}, + "81":{"character":81,"h":15,"offset":0,"shift":9,"w":9,"x":68,"y":19,}, + "82":{"character":82,"h":15,"offset":0,"shift":7,"w":8,"x":52,"y":19,}, + "83":{"character":83,"h":15,"offset":0,"shift":6,"w":6,"x":44,"y":19,}, + "84":{"character":84,"h":15,"offset":0,"shift":6,"w":7,"x":35,"y":19,}, + "85":{"character":85,"h":15,"offset":0,"shift":8,"w":8,"x":25,"y":19,}, + "86":{"character":86,"h":15,"offset":0,"shift":7,"w":8,"x":15,"y":19,}, + "87":{"character":87,"h":15,"offset":0,"shift":11,"w":11,"x":2,"y":19,}, + "88":{"character":88,"h":15,"offset":0,"shift":7,"w":8,"x":110,"y":2,}, + "89":{"character":89,"h":15,"offset":0,"shift":7,"w":7,"x":101,"y":2,}, + "90":{"character":90,"h":15,"offset":0,"shift":6,"w":7,"x":92,"y":2,}, + "91":{"character":91,"h":15,"offset":0,"shift":4,"w":4,"x":62,"y":19,}, + "92":{"character":92,"h":15,"offset":0,"shift":5,"w":5,"x":85,"y":2,}, + "93":{"character":93,"h":15,"offset":0,"shift":4,"w":3,"x":73,"y":2,}, + "94":{"character":94,"h":15,"offset":0,"shift":6,"w":7,"x":64,"y":2,}, + "95":{"character":95,"h":15,"offset":-1,"shift":5,"w":6,"x":56,"y":2,}, + "96":{"character":96,"h":15,"offset":0,"shift":4,"w":4,"x":50,"y":2,}, + "97":{"character":97,"h":15,"offset":0,"shift":7,"w":6,"x":42,"y":2,}, + "98":{"character":98,"h":15,"offset":0,"shift":7,"w":7,"x":33,"y":2,}, + "99":{"character":99,"h":15,"offset":0,"shift":6,"w":6,"x":25,"y":2,}, + "100":{"character":100,"h":15,"offset":0,"shift":7,"w":7,"x":16,"y":2,}, + "101":{"character":101,"h":15,"offset":0,"shift":7,"w":7,"x":7,"y":2,}, + "102":{"character":102,"h":15,"offset":0,"shift":4,"w":5,"x":78,"y":2,}, + "103":{"character":103,"h":15,"offset":0,"shift":7,"w":7,"x":79,"y":19,}, + "104":{"character":104,"h":15,"offset":0,"shift":7,"w":7,"x":41,"y":36,}, + "105":{"character":105,"h":15,"offset":0,"shift":3,"w":3,"x":88,"y":19,}, + "106":{"character":106,"h":15,"offset":-1,"shift":3,"w":4,"x":2,"y":53,}, + "107":{"character":107,"h":15,"offset":0,"shift":7,"w":7,"x":117,"y":36,}, + "108":{"character":108,"h":15,"offset":0,"shift":3,"w":3,"x":112,"y":36,}, + "109":{"character":109,"h":15,"offset":0,"shift":11,"w":10,"x":100,"y":36,}, + "110":{"character":110,"h":15,"offset":0,"shift":7,"w":7,"x":91,"y":36,}, + "111":{"character":111,"h":15,"offset":0,"shift":7,"w":7,"x":82,"y":36,}, + "112":{"character":112,"h":15,"offset":0,"shift":7,"w":7,"x":73,"y":36,}, + "113":{"character":113,"h":15,"offset":0,"shift":7,"w":7,"x":64,"y":36,}, + "114":{"character":114,"h":15,"offset":0,"shift":5,"w":5,"x":57,"y":36,}, + "115":{"character":115,"h":15,"offset":0,"shift":5,"w":6,"x":8,"y":53,}, + "116":{"character":116,"h":15,"offset":0,"shift":5,"w":5,"x":50,"y":36,}, + "117":{"character":117,"h":15,"offset":0,"shift":7,"w":7,"x":32,"y":36,}, + "118":{"character":118,"h":15,"offset":0,"shift":6,"w":7,"x":23,"y":36,}, + "119":{"character":119,"h":15,"offset":0,"shift":9,"w":10,"x":11,"y":36,}, + "120":{"character":120,"h":15,"offset":0,"shift":6,"w":7,"x":2,"y":36,}, + "121":{"character":121,"h":15,"offset":0,"shift":6,"w":7,"x":118,"y":19,}, + "122":{"character":122,"h":15,"offset":0,"shift":5,"w":6,"x":110,"y":19,}, + "123":{"character":123,"h":15,"offset":0,"shift":4,"w":4,"x":104,"y":19,}, + "124":{"character":124,"h":15,"offset":2,"shift":6,"w":2,"x":100,"y":19,}, + "125":{"character":125,"h":15,"offset":0,"shift":4,"w":5,"x":93,"y":19,}, + "126":{"character":126,"h":15,"offset":0,"shift":6,"w":6,"x":36,"y":104,}, + "9647":{"character":9647,"h":15,"offset":2,"shift":11,"w":7,"x":44,"y":104,}, }, "hinting":0, "includeTTF":false, @@ -133,7 +133,7 @@ "sampleText":"abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", "sdfSpread":8, "size":8.0, - "styleName":"SemiBold", + "styleName":"Bold", "textureGroupId":{ "name":"Default", "path":"texturegroups/Default", diff --git a/objects/o_dialog_preference/Create_0.gml b/objects/o_dialog_preference/Create_0.gml index 2984ba088..9052bb8e1 100644 --- a/objects/o_dialog_preference/Create_0.gml +++ b/objects/o_dialog_preference/Create_0.gml @@ -148,6 +148,12 @@ event_inherited(); ds_list_add(pref_global, __txt("Save/Load")); + ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference( + __txtx("pref_auto_save_time", "Autosave delay (-1 to disable)"), + "auto_save_time", + new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { PREFERENCES.auto_save_time = val; PREF_SAVE(); }) + )); + ds_list_add(pref_global, new __Panel_Linear_Setting_Item_Preference( __txtx("pref_save_layout", "Save layout"), "save_layout", @@ -331,12 +337,6 @@ event_inherited(); ds_list_add(pref_appr, __txt("Splash")); - ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference( - __txtx("pref_auto_save_time", "Autosave delay (-1 to disable)"), - "auto_save_time", - new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ { PREFERENCES.auto_save_time = val; PREF_SAVE(); }) - )); - if(IS_PATREON) ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference( __txtx("pref_supporter_icon", "Show supporter icon"), diff --git a/objects/slider_Slider/Create_0.gml b/objects/slider_Slider/Create_0.gml index 1a4c69a58..44e02876a 100644 --- a/objects/slider_Slider/Create_0.gml +++ b/objects/slider_Slider/Create_0.gml @@ -1,5 +1,5 @@ /// @description slider -drag_mx = mouse_mx; -drag_sx = 0; -drag_msx = 0; -drag_sw = 0; \ No newline at end of file +anim = 0; +anim_prog = 0; + +depth = -10000; \ No newline at end of file diff --git a/objects/slider_Slider/Draw_64.gml b/objects/slider_Slider/Draw_64.gml new file mode 100644 index 000000000..319ae917a --- /dev/null +++ b/objects/slider_Slider/Draw_64.gml @@ -0,0 +1,38 @@ +if(anim == 0) { + anim_prog = lerp_float(anim_prog, 1, 5); + +} else if(anim == 1) { + anim_prog = lerp_float(anim_prog, 0, 5); + if(anim_prog == 0) instance_destroy(); +} + +var _h_top = clamp( text.slider_mulp + 1, 1, 2) * ui(18) * anim_prog; +var _h_bot = clamp(-text.slider_mulp + 1, 1, 2) * ui(18) * anim_prog; +var _y = y - _h_top; +var _h = h + _h_top + _h_bot; + +draw_sprite_stretched_ext(THEME.textbox, 3, x, _y, w, _h, COLORS._main_icon, 1); +draw_sprite_stretched_ext(THEME.textbox, 3, x, y, w, h, c_white, 1); +draw_sprite_stretched_ext(THEME.textbox, 1, x, _y, w, _h, c_white, 1); + +if(anim == 0) { + draw_set_text(f_p4, fa_center, fa_bottom, text.slider_mulp == 1? COLORS._main_text_accent : COLORS._main_icon); + draw_text(x + w / 2, y, "x10"); + + if(text.slider_mulp >= 1) { + draw_set_color(text.slider_mulp == 2? COLORS._main_text_accent : COLORS._main_icon); + draw_text(x + w / 2, y - ui(18), "x100"); + } + + draw_set_text(f_p4, fa_center, fa_top, text.slider_mulp == -1? COLORS._main_text_accent : COLORS._main_icon); + draw_text(x + w / 2, y + h, "x0.1"); + + if(text.slider_mulp <= -1) { + draw_set_color(text.slider_mulp == -2? COLORS._main_text_accent : COLORS._main_icon); + draw_text(x + w / 2, y + h + ui(18), "x0.01"); + } +} + +BLEND_ALPHA + draw_surface_safe(text.text_surface, x + text.padding, y); +BLEND_NORMAL \ No newline at end of file diff --git a/objects/slider_Slider/Step_0.gml b/objects/slider_Slider/Step_0.gml index 19ab6665f..631261657 100644 --- a/objects/slider_Slider/Step_0.gml +++ b/objects/slider_Slider/Step_0.gml @@ -1,4 +1 @@ /// @description Insert description here -var dx = mouse_mx - drag_mx; -drag_mx = mouse_mx; -drag_sx += dx; \ No newline at end of file diff --git a/objects/slider_Slider/slider_Slider.yy b/objects/slider_Slider/slider_Slider.yy index 0376c6920..eedc92fe6 100644 --- a/objects/slider_Slider/slider_Slider.yy +++ b/objects/slider_Slider/slider_Slider.yy @@ -2,8 +2,9 @@ "$GMObject":"", "%Name":"slider_Slider", "eventList":[ - {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, - {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"","%Name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, ], "managed":true, "name":"slider_Slider", diff --git a/scripts/__sliderRange/__sliderRange.gml b/scripts/__sliderRange/__sliderRange.gml deleted file mode 100644 index 52dfc4766..000000000 --- a/scripts/__sliderRange/__sliderRange.gml +++ /dev/null @@ -1,131 +0,0 @@ -/* -function __sliderRange(_min, _max, _step, _onModify) : widget() constructor { - minn = _min; - maxx = _max; - stepSize = _step; - - spr = THEME.slider_def; - onModify = _onModify; - - dragging = noone; - drag_sv = 0; - - tb_value_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(clamp(val, minn, maxx), 0); }); - tb_value_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(clamp(val, minn, maxx), 1); }); - - tb_value_min.slidable = true; - tb_value_max.slidable = true; - - static setSlideSpeed = function(speed) { #region - tb_value_min.setSlidable(speed); - tb_value_max.setSlidable(speed); - } #endregion - - static setInteract = function(interactable = noone) { #region - self.interactable = interactable; - tb_value_min.interactable = interactable; - tb_value_max.interactable = interactable; - } #endregion - - static register = function(parent = noone) { #region - tb_value_min.register(parent); - tb_value_max.register(parent); - } #endregion - - static drawParam = function(params) { #region - return draw(params.x, params.y, params.w, params.h, params.data, params.m); - } #endregion - - static draw = function(_x, _y, _w, _h, _data, _m) { #region - x = _x; - y = _y; - w = _w; - h = _h; - if(!is_real(_data[0])) return h; - if(!is_real(_data[1])) return h; - - var tb_w = ui(64); - var sw = _w - (tb_w + ui(16)) * 2; - - tb_value_min.setFocusHover(active, hover); - tb_value_min.draw(_x, _y, tb_w, TEXTBOX_HEIGHT, _data[0], _m); - - tb_value_max.setFocusHover(active, hover); - tb_value_max.draw(_x + _w - tb_w, _y, tb_w, TEXTBOX_HEIGHT, _data[1], _m); - - var _x0 = _x + tb_w + ui(16); - draw_sprite_stretched(spr, 0, _x0, _y + _h / 2 - ui(4), sw, ui(8)); - - if(stepSize >= 1 && sw / ((maxx - minn) / stepSize) > ui(16)) { - for( var i = minn; i <= maxx; i += stepSize ) { - var _v = round(i / stepSize) * stepSize; - var _cx = _x0 + clamp((_v - minn) / (maxx - minn), 0, 1) * sw; - - draw_sprite_stretched_ext(spr, 4, _cx - ui(4), _y + _h / 2 - ui(4), ui(8), ui(8), COLORS.widget_slider_step, 1); - } - } - - var _slider_x0 = _x0 + clamp((_data[0] - minn) / (maxx - minn), 0, 1) * sw; - var _slider_x1 = _x0 + clamp((_data[1] - minn) / (maxx - minn), 0, 1) * sw; - - draw_sprite_stretched_ext(spr, 4, min(_slider_x0, _slider_x1), _y + _h / 2 - ui(4), abs(_slider_x1 - _slider_x0), ui(8), COLORS._main_accent, 1); - draw_sprite_stretched(spr, 1, _slider_x0 - ui(10), _y, ui(20), _h); - draw_sprite_stretched(spr, 1, _slider_x1 - ui(10), _y, ui(20), _h); - - if(dragging) { - if(dragging_index == 0) - draw_sprite_stretched_ext(spr, 3, _slider_x0 - ui(10), _y, ui(20), _h, COLORS._main_accent, 1); - else if(dragging_index == 1) - draw_sprite_stretched_ext(spr, 3, _slider_x1 - ui(10), _y, ui(20), _h, COLORS._main_accent, 1); - - var val = (dragging.drag_sx - dragging.drag_msx) / dragging.drag_sw * (maxx - minn) + minn; - val = round(val / stepSize) * stepSize; - val = clamp(val, minn, maxx); - if(key_mod_press(CTRL)) - val = round(val); - - if(onModify(val, dragging_index)) - UNDO_HOLDING = true; - - MOUSE_BLOCK = true; - - if(mouse_check_button_pressed(mb_right)) { - onModify(drag_sv, dragging_index); - instance_destroy(dragging); - dragging = noone; - UNDO_HOLDING = false; - - } else if(mouse_release(mb_left)) { - instance_destroy(dragging); - dragging = noone; - UNDO_HOLDING = false; - } - } else if(hover) { - var _hover = -1; - - if(point_in_rectangle(_m[0], _m[1], _slider_x0 - ui(10), _y, _slider_x0 + ui(10), _y + _h)) { - draw_sprite_stretched(spr, 2, _slider_x0 - ui(10), _y, ui(20), _h); - _hover = 0; - } - - if(point_in_rectangle(_m[0], _m[1], _slider_x1 - ui(10), _y, _slider_x1 + ui(10), _y + _h)) { - draw_sprite_stretched(spr, 2, _slider_x1 - ui(10), _y, ui(20), _h); - _hover = 1; - } - - if(_hover > -1 && mouse_press(mb_left, active)) { - dragging = instance_create(0, 0, slider_Slider); - dragging_index = _hover; - dragging.drag_sx = _m[0]; - dragging.drag_msx = _x0; - dragging.drag_sw = sw; - - drag_sv = _data[_hover]; - } - } - - resetFocus(); - - return h; - } #endregion -} \ No newline at end of file diff --git a/scripts/__sliderRange/__sliderRange.yy b/scripts/__sliderRange/__sliderRange.yy deleted file mode 100644 index c4622b826..000000000 --- a/scripts/__sliderRange/__sliderRange.yy +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$GMScript":"", - "%Name":"__sliderRange", - "isCompatibility":false, - "isDnD":false, - "name":"__sliderRange", - "parent":{ - "name":"sliders", - "path":"folders/widgets/sliders.yy", - }, - "resourceType":"GMScript", - "resourceVersion":"2.0", -} \ No newline at end of file diff --git a/scripts/areaBox/areaBox.gml b/scripts/areaBox/areaBox.gml index a32133251..1c7a17e29 100644 --- a/scripts/areaBox/areaBox.gml +++ b/scripts/areaBox/areaBox.gml @@ -97,11 +97,6 @@ function areaBox(_onModify, _unit = noone) : widget() constructor { tb[i].hide = true; } - static setSlideSpeed = function(speed) { - for(var i = 0; i < 4; i++) - tb[i].setSlidable(speed); - } - static setInteract = function(interactable = noone) { self.interactable = interactable; for(var i = 0; i < 4; i++) diff --git a/scripts/controlPointBox/controlPointBox.gml b/scripts/controlPointBox/controlPointBox.gml index ba2d559f9..4930aec83 100644 --- a/scripts/controlPointBox/controlPointBox.gml +++ b/scripts/controlPointBox/controlPointBox.gml @@ -26,8 +26,7 @@ function controlPointBox(_onModify) : widget() constructor { tbH = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(max(0, toNumber(val)), PUPPET_CONTROL.height); }); tbH.hide = true; tbH.slidable = true; rot = new rotator(function(val) { return onModify(toNumber(val), PUPPET_CONTROL.fy); }); - sW = new textBox(TEXTBOX_INPUT.number, function(val) { onModify(toNumber(val), PUPPET_CONTROL.width); }) - .setSlidable(0.01, false, [ 1, 32 ]); + sW = new textBox(TEXTBOX_INPUT.number, function(val) { onModify(toNumber(val), PUPPET_CONTROL.width); }); tbCx.label = "cx"; tbCy.label = "cy"; diff --git a/scripts/cornerBox/cornerBox.gml b/scripts/cornerBox/cornerBox.gml index 709dfc451..c7e0cd63f 100644 --- a/scripts/cornerBox/cornerBox.gml +++ b/scripts/cornerBox/cornerBox.gml @@ -30,11 +30,6 @@ function cornerBox(_onModify, _unit = noone) : widget() constructor { tb[i].hide = true; } - static setSlideSpeed = function(speed) { - for(var i = 0; i < 4; i++) - tb[i].setSlidable(speed); - } - static setInteract = function(interactable = noone) { self.interactable = interactable; b_link.interactable = interactable; diff --git a/scripts/curveBox/curveBox.gml b/scripts/curveBox/curveBox.gml index a2bbe7f1d..80d506680 100644 --- a/scripts/curveBox/curveBox.gml +++ b/scripts/curveBox/curveBox.gml @@ -33,8 +33,8 @@ function curveBox(_onModify) : widget() constructor { cw = 0; ch = 0; - tb_shift = new textBox(TEXTBOX_INPUT.number, function(val) { var _data = array_clone(curr_data); _data[0] = val; onModify(_data); }).setSlidable(1 / 100); - tb_scale = new textBox(TEXTBOX_INPUT.number, function(val) { var _data = array_clone(curr_data); _data[1] = val; onModify(_data); }).setSlidable(1 / 100); + tb_shift = new textBox(TEXTBOX_INPUT.number, function(val) { var _data = array_clone(curr_data); _data[0] = val; onModify(_data); }); + tb_scale = new textBox(TEXTBOX_INPUT.number, function(val) { var _data = array_clone(curr_data); _data[1] = val; onModify(_data); }); tb_shift.label = "Shift"; tb_scale.label = "Scale"; diff --git a/scripts/materialBox/materialBox.gml b/scripts/materialBox/materialBox.gml index f4b89e615..305072cdc 100644 --- a/scripts/materialBox/materialBox.gml +++ b/scripts/materialBox/materialBox.gml @@ -6,7 +6,7 @@ function materialBox(_onModify) : widget() constructor { sb_filtering = new scrollBox(["Pixel", "Bilinear"], function(val) { currMat.texFilter = val; onModify(currMat); }) - for(var i = 0; i < 5; i++) tb[i] = new textBox(TEXTBOX_INPUT.number, noone).setSlidable(); + for(var i = 0; i < 5; i++) tb[i] = new textBox(TEXTBOX_INPUT.number, noone); tb[0].onModify = function(val) { currMat.diffuse = val; onModify(currMat); } tb[1].onModify = function(val) { currMat.specular = val; onModify(currMat); } diff --git a/scripts/matrixGrid/matrixGrid.gml b/scripts/matrixGrid/matrixGrid.gml index 0eb605735..40489911d 100644 --- a/scripts/matrixGrid/matrixGrid.gml +++ b/scripts/matrixGrid/matrixGrid.gml @@ -72,11 +72,6 @@ function matrixGrid(_type, _size, _onModify, _unit = noone) : widget() construct unit.triggerButton.register(parent); } - static setSlideSpeed = function(speed) { - for(var i = 0; i < inputs; i++) - tb[i].setSlidable(speed); - } - static isHovering = function() { for( var i = 0, n = array_length(tb); i < n; i++ ) if(tb[i].isHovering()) return true; return false; diff --git a/scripts/node_canvas/node_canvas.gml b/scripts/node_canvas/node_canvas.gml index 6b151695e..49a789b73 100644 --- a/scripts/node_canvas/node_canvas.gml +++ b/scripts/node_canvas/node_canvas.gml @@ -252,7 +252,7 @@ function Node_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) constructor ]; tool_attribute.size = 1; - tool_size_edit = new textBox(TEXTBOX_INPUT.number, function(val) { tool_attribute.size = max(1, round(val)); }).setSlidable(0.1, true, [ 1, 999999 ]) + tool_size_edit = new textBox(TEXTBOX_INPUT.number, function(val) { tool_attribute.size = max(1, round(val)); }).setSlideType(true) .setFont(f_p3) .setSideButton(button(function() { dialogPanelCall(new Panel_Node_Canvas_Pressure(self), mouse_mx, mouse_my, { anchor: ANCHOR.top | ANCHOR.left }) }) .setIcon(THEME.pen_pressure, 0, COLORS._main_icon)); @@ -262,7 +262,7 @@ function Node_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) constructor tool_attribute.pressure_size = [ 1, 1 ]; tool_attribute.thres = 0; - tool_thrs_edit = new textBox(TEXTBOX_INPUT.number, function(val) { tool_attribute.thres = clamp(val, 0, 1); }).setSlidable(0.01, false, [ 0, 1 ]).setFont(f_p3); + tool_thrs_edit = new textBox(TEXTBOX_INPUT.number, function(val) { tool_attribute.thres = clamp(val, 0, 1); }).setSlideRange(0, 1).setFont(f_p3); tool_thrs = [ "Threshold", tool_thrs_edit, "thres", tool_attribute ]; tool_attribute.fillType = 0; diff --git a/scripts/node_line/node_line.gml b/scripts/node_line/node_line.gml index b2c14bc4a..83322b31f 100644 --- a/scripts/node_line/node_line.gml +++ b/scripts/node_line/node_line.gml @@ -26,8 +26,7 @@ function Node_Line(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 8] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [0, 1], "Range of the path to draw.") .setDisplay(VALUE_DISPLAY.slider_range); - inputs[| 9] = nodeValue("Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) - .setDisplay(VALUE_DISPLAY._default, { slide_speed: 1 / 64 }); + inputs[| 9] = nodeValue("Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); inputs[| 10] = nodeValue("Color over length", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject(c_white) ); diff --git a/scripts/node_number/node_number.gml b/scripts/node_number/node_number.gml index c22a82913..85fa4978b 100644 --- a/scripts/node_number/node_number.gml +++ b/scripts/node_number/node_number.gml @@ -74,7 +74,6 @@ function Node_Number(_x, _y, _group = noone) : Node(_x, _y, _group) constructor for( var i = 0; i < 1; i++ ) { inputs[| i].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - inputs[| i].editWidget.setSlidable(int? 0.1 : 0.01); } outputs[| 0].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); diff --git a/scripts/node_scale/node_scale.gml b/scripts/node_scale/node_scale.gml index a023aad83..4ff4516d6 100644 --- a/scripts/node_scale/node_scale.gml +++ b/scripts/node_scale/node_scale.gml @@ -6,8 +6,7 @@ function Node_Scale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) - .setDisplay(VALUE_DISPLAY._default, { slide_speed: 0.01 }); + inputs[| 1] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); inputs[| 2] = nodeValue("Mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, [ "Upscale", "Scale to fit" ]); diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index b3c2e9dbf..4ce1b208f 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -536,9 +536,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru switch(display_type) { case VALUE_DISPLAY._default : #region editWidget = new textBox(_txt, function(val) { return setValueInspector(val); } ); - editWidget.setSlidable(); - if(struct_has(display_data, "slide_speed")) editWidget.setSlidable(display_data.slide_speed); if(struct_has(display_data, "unit")) editWidget.unit = display_data.unit; if(struct_has(display_data, "front_button")) editWidget.front_button = display_data.front_button; @@ -548,8 +546,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru case VALUE_DISPLAY.range : #region editWidget = new rangeBox(_txt, function(val, index) { return setValueInspector(val, index); } ); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); - if(!struct_has(display_data, "linked")) display_data.linked = false; for( var i = 0, n = array_length(animators); i < n; i++ ) @@ -569,9 +565,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru if(struct_has(display_data, "linkable")) editWidget.linkable = display_data.linkable; if(struct_has(display_data, "per_line")) editWidget.per_line = display_data.per_line; if(struct_has(display_data, "linked")) editWidget.linked = display_data.linked; - if(struct_has(display_data, "slideSpeed")) editWidget.setSlideSpeed(display_data.slideSpeed); - - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); if(len == 2) { var _dim = struct_try_get(display_data, "useGlobal", true); @@ -601,7 +594,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru editWidget = new vectorRangeBox(array_length(val), _txt, function(val, index) { return setValueInspector(val, index); }, unit ); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); if(!struct_has(display_data, "linked")) display_data.linked = false; if(!struct_has(display_data, "ranged")) display_data.ranged = false; @@ -641,10 +633,10 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru break; #endregion case VALUE_DISPLAY.slider : #region - var _range = struct_try_get(display_data, "range", [ 0, 1, 0.01 ]); + var _range = struct_try_get(display_data, "range", [ 0, 1 ]); editWidget = new textBox(TEXTBOX_INPUT.number, function(val) { return setValueInspector(toNumber(val)); } ) - .setSlidable(_range[2], type == VALUE_TYPE.integer, [ _range[0], _range[1] ]); + .setSlideRange(_range[0], _range[1]); if(struct_has(display_data, "update_stat")) editWidget.update_stat = display_data.update_stat; @@ -667,8 +659,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru case VALUE_DISPLAY.area : #region editWidget = new areaBox(function(val, index) { return setValueInspector(val, index); }, unit); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); - editWidget.onSurfaceSize = struct_try_get(display_data, "onSurfaceSize", noone); editWidget.showShape = struct_try_get(display_data, "useShape", true); @@ -680,7 +670,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru case VALUE_DISPLAY.padding : #region editWidget = new paddingBox(function(val, index) { return setValueInspector(val, index); }, unit); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); for( var i = 0, n = array_length(animators); i < n; i++ ) animators[i].suffix = " " + array_safe_get_fast(global.displaySuffix_Padding, i); @@ -690,7 +679,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru case VALUE_DISPLAY.corner : #region editWidget = new cornerBox(function(val, index) { return setValueInspector(val, index); }, unit); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); for( var i = 0, n = array_length(animators); i < n; i++ ) animators[i].suffix = " " + array_safe_get_fast(global.displaySuffix_Padding, i); @@ -733,7 +721,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru case VALUE_DISPLAY.matrix : #region editWidget = new matrixGrid(_txt, display_data.size, function(val, index) { return setValueInspector(val, index); }, unit ); - if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10); for( var i = 0, n = array_length(animators); i < n; i++ ) animators[i].suffix = $" {i}"; @@ -778,6 +765,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru break; #endregion } + + if(editWidget && struct_has(editWidget, "setSlideType")) editWidget.setSlideType(type == VALUE_TYPE.integer); break; case VALUE_TYPE.boolean : #region diff --git a/scripts/node_vector2/node_vector2.gml b/scripts/node_vector2/node_vector2.gml index 956826e3d..1932c4d48 100644 --- a/scripts/node_vector2/node_vector2.gml +++ b/scripts/node_vector2/node_vector2.gml @@ -109,10 +109,8 @@ function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c var int = getInputData(2); var disp = getInputData(3); - for( var i = 0; i < 2; i++ ) { + for( var i = 0; i < 2; i++ ) inputs[| i].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - inputs[| i].editWidget.setSlidable(int? 0.1 : 0.01); - } outputs[| 0].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); diff --git a/scripts/node_vector3/node_vector3.gml b/scripts/node_vector3/node_vector3.gml index 1667e351d..9548932d7 100644 --- a/scripts/node_vector3/node_vector3.gml +++ b/scripts/node_vector3/node_vector3.gml @@ -1,4 +1,4 @@ -function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region +function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Vector3"; color = COLORS.node_blend_number; setDimension(96, 32 + 24 * 3); @@ -17,25 +17,23 @@ function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c outputs[| 0] = nodeValue("Vector", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); - static step = function() { #region + static step = function() { var int = getInputData(3); - for( var i = 0; i < 3; i++ ) { + for( var i = 0; i < 3; i++ ) inputs[| i].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - inputs[| i].editWidget.setSlidable(int? 0.1 : 0.01); - } outputs[| 0].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - } #endregion + } - static processData = function(_output, _data, _output_index, _array_index = 0) { #region + static processData = function(_output, _data, _output_index, _array_index = 0) { var vec = [ _data[0], _data[1], _data[2] ]; for( var i = 0, n = array_length(vec); i < n; i++ ) vec[i] = _data[3]? round(vec[i]) : vec[i]; return vec; - } #endregion + } - static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); var vec = getSingleValue(0,, true); var v0 = array_safe_get_fast(vec, 0); @@ -47,5 +45,5 @@ function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c var bbox = drawGetBbox(xx, yy, _s); var ss = string_scale(str, bbox.w, bbox.h); draw_text_transformed(bbox.xc, bbox.yc, str, ss, ss, 0); - } #endregion -} #endregion \ No newline at end of file + } +} \ No newline at end of file diff --git a/scripts/node_vector4/node_vector4.gml b/scripts/node_vector4/node_vector4.gml index 4fcd10193..a4ee6105d 100644 --- a/scripts/node_vector4/node_vector4.gml +++ b/scripts/node_vector4/node_vector4.gml @@ -1,4 +1,4 @@ -function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region +function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Vector4"; color = COLORS.node_blend_number; setDimension(96, 32 + 24 * 4); @@ -20,25 +20,23 @@ function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c outputs[| 0] = nodeValue("Vector", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); - static step = function() { #region + static step = function() { var int = getInputData(4); - for( var i = 0; i < 4; i++ ) { + for( var i = 0; i < 4; i++ ) inputs[| i].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - inputs[| i].editWidget.setSlidable(int? 0.1 : 0.01); - } outputs[| 0].setType(int? VALUE_TYPE.integer : VALUE_TYPE.float); - } #endregion + } - static processData = function(_output, _data, _output_index, _array_index = 0) { #region + static processData = function(_output, _data, _output_index, _array_index = 0) { var vec = [ _data[0], _data[1], _data[2], _data[3] ]; for( var i = 0, n = array_length(vec); i < n; i++ ) vec[i] = _data[4]? round(vec[i]) : vec[i]; return vec; - } #endregion + } - static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); var vec = getSingleValue(0,, true); var v0 = array_safe_get_fast(vec, 0); @@ -51,5 +49,5 @@ function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c var bbox = drawGetBbox(xx, yy, _s); var ss = string_scale(str, bbox.w, bbox.h); draw_text_transformed(bbox.xc, bbox.yc, str, ss, ss, 0); - } #endregion -} #endregion \ No newline at end of file + } +} \ No newline at end of file diff --git a/scripts/paddingBox/paddingBox.gml b/scripts/paddingBox/paddingBox.gml index 77cd7627d..4ed13b783 100644 --- a/scripts/paddingBox/paddingBox.gml +++ b/scripts/paddingBox/paddingBox.gml @@ -39,8 +39,6 @@ function paddingBox(_onModify, _unit = noone) : widget() constructor { tb[1].label = "t"; tb[3].label = "b"; - - static setSlideSpeed = function(speed) { for(var i = 0; i < 4; i++) tb[i].setSlidable(speed); } static setInteract = function(interactable = noone) { self.interactable = interactable; diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index 325cb42ff..ae20e73c5 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -487,7 +487,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { toolbars_distrib_space = [ [ THEME.obj_distribute_h, function() /*=>*/ {return 0}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_hdistribute_dist(nodes_selecting, nodes_select_anchor, distribution_spacing); } ], [ THEME.obj_distribute_v, function() /*=>*/ {return 0}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_vdistribute_dist(nodes_selecting, nodes_select_anchor, distribution_spacing); } ], - [ new textBox(TEXTBOX_INPUT.number, function(val) { distribution_spacing = value_snap(val, 4); } ).setSlidable(1).setPadding(4), function() /*=>*/ {return distribution_spacing} ], + [ new textBox(TEXTBOX_INPUT.number, function(val) { distribution_spacing = value_snap(val, 4); } ).setPadding(4), function() /*=>*/ {return distribution_spacing} ], ]; toolbars = [ toolbars_general ]; diff --git a/scripts/panel_graph_connection_settings/panel_graph_connection_settings.gml b/scripts/panel_graph_connection_settings/panel_graph_connection_settings.gml index 40c889ebd..47124421e 100644 --- a/scripts/panel_graph_connection_settings/panel_graph_connection_settings.gml +++ b/scripts/panel_graph_connection_settings/panel_graph_connection_settings.gml @@ -19,7 +19,7 @@ function Panel_Graph_Connection_Setting() : Panel_Linear_Setting() constructor { new __Panel_Linear_Setting_Item_Preference( __txtx("dialog_connection_radius", "Corner radius"), "connection_line_corner", - new textBox(TEXTBOX_INPUT.number, function(str) { PREFERENCES.connection_line_corner = max(0, real(str)); }).setSlidable(), + new textBox(TEXTBOX_INPUT.number, function(str) { PREFERENCES.connection_line_corner = max(0, real(str)); }), ), new __Panel_Linear_Setting_Item_Preference( __txtx("pref_connection_quality", "Render quality"), diff --git a/scripts/panel_keyframe_driver/panel_keyframe_driver.gml b/scripts/panel_keyframe_driver/panel_keyframe_driver.gml index fd19fd38c..71462808d 100644 --- a/scripts/panel_keyframe_driver/panel_keyframe_driver.gml +++ b/scripts/panel_keyframe_driver/panel_keyframe_driver.gml @@ -16,7 +16,7 @@ function Panel_Keyframe_Driver(key) : Panel_Linear_Setting() constructor { prop_linear = [ new __Panel_Linear_Setting_Item( __txt("Speed"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.speed = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.speed = val; }), function() { return key.drivers.speed; } ), ]; @@ -24,7 +24,7 @@ function Panel_Keyframe_Driver(key) : Panel_Linear_Setting() constructor { prop_wiggle = [ new __Panel_Linear_Setting_Item( __txt("Seed"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.seed = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.seed = val; }), function() { return key.drivers.seed; } ), new __Panel_Linear_Setting_Item( @@ -34,17 +34,17 @@ function Panel_Keyframe_Driver(key) : Panel_Linear_Setting() constructor { ), new __Panel_Linear_Setting_Item( __txt("Frequency"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.frequency = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.frequency = val; }), function() { return key.drivers.frequency; } ), new __Panel_Linear_Setting_Item( __txt("Amplitude"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.amplitude = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.amplitude = val; }), function() { return key.drivers.amplitude; } ), new __Panel_Linear_Setting_Item( __txt("Octave"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.octave = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.octave = val; }), function() { return key.drivers.octave; } ), ]; @@ -57,17 +57,17 @@ function Panel_Keyframe_Driver(key) : Panel_Linear_Setting() constructor { ), new __Panel_Linear_Setting_Item( __txt("Frequency"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.frequency = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.frequency = val; }), function() { return key.drivers.frequency; } ), new __Panel_Linear_Setting_Item( __txt("Amplitude"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.amplitude = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.amplitude = val; }), function() { return key.drivers.amplitude; } ), new __Panel_Linear_Setting_Item( __txt("Phase"), - new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.phase = val; }).setSlidable(), + new textBox( TEXTBOX_INPUT.number, function(val) { key.drivers.phase = val; }), function() { return key.drivers.phase ; } ), ]; diff --git a/scripts/pathAnchorBox/pathAnchorBox.gml b/scripts/pathAnchorBox/pathAnchorBox.gml index 5c1c6ef2e..4b8eee596 100644 --- a/scripts/pathAnchorBox/pathAnchorBox.gml +++ b/scripts/pathAnchorBox/pathAnchorBox.gml @@ -21,11 +21,6 @@ function pathAnchorBox(_onModify) : widget() constructor { tb[4].setPrecision(2).setLabel("dx1"); tb[5].setPrecision(2).setLabel("dy1"); - static setSlideSpeed = function(speed) { - for( var i = 0, n = array_length(tb); i < n; i++ ) - tb[i].setSlidable(speed); - } - static setInteract = function(interactable = noone) { self.interactable = interactable; diff --git a/scripts/quarternionBox/quarternionBox.gml b/scripts/quarternionBox/quarternionBox.gml index 167c56d22..6d7605d4d 100644 --- a/scripts/quarternionBox/quarternionBox.gml +++ b/scripts/quarternionBox/quarternionBox.gml @@ -45,11 +45,6 @@ function quarternionBox(_onModify) : widget() constructor { tb[i].label = axis[i]; } - static setSlideSpeed = function(speed) { - for(var i = 0; i < size; i++) - tb[i].setSlidable(speed); - } - static setInteract = function(interactable) { self.interactable = interactable; diff --git a/scripts/rangeBox/rangeBox.gml b/scripts/rangeBox/rangeBox.gml index 3e66dbc2a..a22f0bb01 100644 --- a/scripts/rangeBox/rangeBox.gml +++ b/scripts/rangeBox/rangeBox.gml @@ -35,11 +35,6 @@ function rangeBox(_type, _onModify) : widget() constructor { tb[i].label = labels[i]; } - static setSlideSpeed = function(speed) { - tb[0].setSlidable(speed); - tb[1].setSlidable(speed); - } - static setInteract = function(interactable = noone) { self.interactable = interactable; diff --git a/scripts/rotator/rotator.gml b/scripts/rotator/rotator.gml index 36adb317f..029865157 100644 --- a/scripts/rotator/rotator.gml +++ b/scripts/rotator/rotator.gml @@ -6,13 +6,12 @@ function rotator(_onModify, _step = -1) : widget() constructor { dragging = noone; drag_sv = 0; real_val = 0; - slide_speed = 1 / 10; side_button = noone; spr_bg = THEME.rotator_bg; spr_knob = THEME.rotator_knob; - tb_value = new textBox(TEXTBOX_INPUT.number, onModify).setSlidable([ 0.1, 15 ], true); + tb_value = new textBox(TEXTBOX_INPUT.number, onModify).setSlideStep(15); tb_value.hide = true; halign = fa_center; diff --git a/scripts/rotatorRandom/rotatorRandom.gml b/scripts/rotatorRandom/rotatorRandom.gml index 0565a0054..b8bd0b563 100644 --- a/scripts/rotatorRandom/rotatorRandom.gml +++ b/scripts/rotatorRandom/rotatorRandom.gml @@ -9,10 +9,10 @@ function rotatorRandom(_onModify) : widget() constructor { knob_hovering = noone; mode = 0; - tb_min_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 1); } ).setSlidable([ 0.1, 15 ], true); tb_min_0.hide = true; - tb_max_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 2); } ).setSlidable([ 0.1, 15 ], true); tb_max_0.hide = true; - tb_min_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 3); } ).setSlidable([ 0.1, 15 ], true); tb_min_1.hide = true; - tb_max_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 4); } ).setSlidable([ 0.1, 15 ], true); tb_max_1.hide = true; + tb_min_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 1); } ).setSlideStep(15); tb_min_0.hide = true; + tb_max_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 2); } ).setSlideStep(15); tb_max_0.hide = true; + tb_min_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 3); } ).setSlideStep(15); tb_min_1.hide = true; + tb_max_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 4); } ).setSlideStep(15); tb_max_1.hide = true; tooltip = new tooltipSelector("Mode", [ __txtx("widget_rotator_random_range", "Range"), diff --git a/scripts/rotatorRange/rotatorRange.gml b/scripts/rotatorRange/rotatorRange.gml index 3d63d50d6..1807844a8 100644 --- a/scripts/rotatorRange/rotatorRange.gml +++ b/scripts/rotatorRange/rotatorRange.gml @@ -8,8 +8,8 @@ function rotatorRange(_onModify) : widget() constructor { knob_hovering = noone; - tb_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 0); } ).setSlidable([ 0.1, 15 ], true); tb_min.hide = true; - tb_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 1); } ).setSlidable([ 0.1, 15 ], true); tb_max.hide = true; + tb_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 0); } ).setSlideStep(15); tb_min.hide = true; + tb_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(val, 1); } ).setSlideStep(15); tb_max.hide = true; static setInteract = function(interactable = noone) { self.interactable = interactable; diff --git a/scripts/slider/slider.gml b/scripts/slider/slider.gml index d0541cc4f..9f5e4771c 100644 --- a/scripts/slider/slider.gml +++ b/scripts/slider/slider.gml @@ -6,6 +6,6 @@ enum SLIDER_UPDATE { function slider(_min, _max, _step, _onModify = noone, _onRelease = noone) { return new textBox( TEXTBOX_INPUT.number, _onModify ) - .setSlidable(_step / 10, false, [ _min, _max ]) + .setSlideRange(_min, _max) .setOnRelease(_onRelease); } \ No newline at end of file diff --git a/scripts/sliderRange/sliderRange.gml b/scripts/sliderRange/sliderRange.gml index f14da4862..bcd1efa4b 100644 --- a/scripts/sliderRange/sliderRange.gml +++ b/scripts/sliderRange/sliderRange.gml @@ -6,17 +6,15 @@ function sliderRange(_step, _int, _range, _onModify) : widget() constructor { onModify = _onModify; - tb_value_min = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(clamp(val, curr_range[0], curr_range[1]), 0); }).setSlidable(_step, _int, _range); - tb_value_max = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(clamp(val, curr_range[0], curr_range[1]), 1); }).setSlidable(_step, _int, _range); + tb_value_min = new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ {return onModify(clamp(val, curr_range[0], curr_range[1]), 0)}) + .setSlideType(_int).setSlideStep(_step).setSlideRange(_range); + + tb_value_max = new textBox(TEXTBOX_INPUT.number, function(val) /*=>*/ {return onModify(clamp(val, curr_range[0], curr_range[1]), 1)}) + .setSlideType(_int).setSlideStep(_step).setSlideRange(_range); tb_value_min.hide = true; tb_value_max.hide = true; - static setSlideSpeed = function(speed) { - tb_value_min.setSlidable(speed); - tb_value_max.setSlidable(speed); - } - static setInteract = function(interactable = noone) { self.interactable = interactable; tb_value_min.interactable = interactable; @@ -66,11 +64,10 @@ function sliderRange(_step, _int, _range, _onModify) : widget() constructor { var tb_w = _w / 2; - if(tb_value_min.selecting || tb_value_max.selecting) { + if(tb_value_min.selecting || tb_value_max.selecting) draw_sprite_stretched_ext(THEME.textbox, 1, _x, _y, _w, _h, boxColor, 1); - } else { + else draw_sprite_stretched_ext(THEME.textbox, 0, _x, _y, _w, _h, boxColor, 0.5 + 0.5 * interactable); - } tb_value_min.curr_range[0] = curr_range[0]; tb_value_min.curr_range[1] = curr_range[1]; diff --git a/scripts/textBox/textBox.gml b/scripts/textBox/textBox.gml index 43ade8772..d5508fa61 100644 --- a/scripts/textBox/textBox.gml +++ b/scripts/textBox/textBox.gml @@ -1,7 +1,4 @@ -enum TEXTBOX_INPUT { - text, - number -} +enum TEXTBOX_INPUT { text, number } function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { onRelease = noone; @@ -18,18 +15,24 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { no_empty = true; - slidable = false; + slidable = true; sliding = false; slidePen = false; slide_delta = 0; slide_int = false; - slide_speed = 1 / 25; + slide_speed = 0.01; + slide_snap = 0; slide_range = noone; curr_range = [ 0, 1 ]; + slider_dy = 0; + slider_my = 0; + slider_mulp = 0; slider_def_val = 0; slider_cur_val = 0; + slider_cur_del = 0; + slider_object = noone; label = ""; labelColor = COLORS._main_text_sub; @@ -80,15 +83,9 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { onModify(value); } - static setSlidable = function(slideStep = slide_speed, _slide_int = false, _slide_range = noone) { - slidable = true; - slide_speed = is_array(slideStep)? slideStep[0] : slideStep; - slide_snap = is_array(slideStep)? slideStep[1] : 0; - slide_int = _slide_int; - slide_range = _slide_range; - - return self; - } + static setSlideType = function(_slide_int = false) { slide_int = _slide_int; return self; } + static setSlideStep = function(_slide_step = 0) { slide_snap = _slide_step; return self; } + static setSlideRange = function(_min = 0, _max = 1) { slide_range = [_min, _max]; return self; } static setRange = function(_rng_min, _rng_max) { use_range = true; @@ -514,21 +511,38 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { var _defval = toNumber(_current_text); slider_def_val = _defval; slider_cur_val = _defval; + slider_cur_del = 0; - slidePen = PEN_USE; + slidePen = PEN_USE; + slider_dy = 0; + slider_mulp = 0; if(!slidePen) { CURSOR_LOCK_X = mouse_mx; CURSOR_LOCK_Y = mouse_my; } - sliding = 2; + sliding = 2; + slider_object = instance_create_depth(rx + _x, ry + _y, -16000, slider_Slider, { w: _w, h: _h }); + slider_object.text = self; } + + var _mdx = slidePen? PEN_X_DELTA : window_mouse_get_delta_x(); + var _mdy = slidePen? PEN_Y_DELTA : window_mouse_get_delta_y(); if(sliding == 2) { if(!slidePen && PREFERENCES.slider_lock_mouse) CURSOR_LOCK = true; - - if(mouse_press(mb_right)) { + + if(abs(_mdy) > abs(_mdx)) + slider_dy += slidePen? PEN_Y_DELTA : window_mouse_get_delta_y(); + + var _mulp = slider_mulp; + if(slider_dy < -160 * (1 + abs(slider_mulp) * .5)) { slider_mulp = clamp(slider_mulp + 1, -2, 2); slider_dy = 0; } + else if(slider_dy > 160 * (1 + abs(slider_mulp) * .5)) { slider_mulp = clamp(slider_mulp - 1, -2, 2); slider_dy = 0; } + + if(_mulp != slider_mulp) slider_cur_del = 0; + + if(mouse_press(mb_right)) { //cancel _input_text = string_real(slider_def_val); sliding = 0; apply(); @@ -538,20 +552,18 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { } else { MOUSE_BLOCK = true; - var _s = slide_speed; - - var _mdx = slidePen? PEN_X_DELTA : window_mouse_get_delta_x(); - var _mdy = slidePen? PEN_Y_DELTA : window_mouse_get_delta_y(); + var _s = slide_speed; + _s *= power(10, slider_mulp); var _dx = abs(_mdx) > abs(_mdy)? _mdx : -_mdy; if(key_mod_press(CTRL) && !slide_snap) _s *= 10; if(key_mod_press(ALT)) _s /= 10; - slider_cur_val += _dx * _s; - - if(slide_range != noone) - slider_cur_val = clamp(slider_cur_val, curr_range[0], curr_range[1]); + slider_cur_del += _dx; + slider_cur_val = slider_def_val + slider_cur_del * _s; + + if(slide_range != noone) slider_cur_val = clamp(slider_cur_val, curr_range[0], curr_range[1]); var _val = value_snap(slider_cur_val, _s); @@ -575,7 +587,13 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor { _update = true; UNDO_HOLDING = false; } - } #endregion + + } else { + if(slider_object) { + slider_object.anim = 1; + slider_object = noone; + } + } if(selecting) { if(hide < 2) { diff --git a/scripts/vectorBox/vectorBox.gml b/scripts/vectorBox/vectorBox.gml index 0c478f861..556aeae82 100644 --- a/scripts/vectorBox/vectorBox.gml +++ b/scripts/vectorBox/vectorBox.gml @@ -60,12 +60,6 @@ function vectorBox(_size, _onModify, _unit = noone) : widget() constructor { return self; } - static setSlideSpeed = function(speed) { - for(var i = 0; i < size; i++) - tb[i].setSlidable(speed); - return self; - } - static setInteract = function(interactable) { self.interactable = interactable; @@ -118,8 +112,6 @@ function vectorBox(_size, _onModify, _unit = noone) : widget() constructor { var sz = min(size, array_length(_data)); var _bs = min(_h, ui(32)); - if(unit && unit.reference != noone) for(var i = 0; i < sz; i++) tb[i].slide_int = unit.mode == VALUE_UNIT.constant? true : false; - if((_w - _bs) / sz > ui(48)) { if(side_button) { side_button.setFocusHover(active, hover); diff --git a/scripts/vectorRangeBox/vectorRangeBox.gml b/scripts/vectorRangeBox/vectorRangeBox.gml index cf23bee49..2a68362c5 100644 --- a/scripts/vectorRangeBox/vectorRangeBox.gml +++ b/scripts/vectorRangeBox/vectorRangeBox.gml @@ -50,8 +50,6 @@ function vectorRangeBox(_size, _type, _onModify, _unit = noone) : widget() const tb[i].hide = true; } - static setSlideSpeed = function(speed) { for(var i = 0; i < size; i++) tb[i].setSlidable(speed); } - static setInteract = function(interactable = noone) { self.interactable = interactable; for( var i = 0; i < size; i++ ) tb[i].interactable = interactable;