From 7dbd336631da5933277db998a185fb4d77304bab Mon Sep 17 00:00:00 2001 From: Tornado-Technology Date: Mon, 7 Feb 2022 21:42:12 +1000 Subject: [PATCH] Init --- Vectors.yyp | 47 ++++ fonts/font_russian_pank/RussianPunk.ttf | Bin 0 -> 58172 bytes .../font_russian_pank.old.png | Bin 0 -> 11067 bytes .../font_russian_pank.old.yy | 210 ++++++++++++++++++ fonts/font_russian_pank/font_russian_pank.png | Bin 0 -> 11111 bytes fonts/font_russian_pank/font_russian_pank.yy | 138 ++++++++++++ objects/obj_demo/Create_0.gml | 64 ++++++ objects/obj_demo/Draw_0.gml | 4 + objects/obj_demo/obj_demo.yy | 34 +++ options/linux/options_linux.yy | 25 +++ options/mac/options_mac.yy | 33 +++ options/main/options_main.yy | 21 ++ options/operagx/options_operagx.yy | 18 ++ options/windows/options_windows.yy | 36 +++ rooms/room_demo/room_demo.yy | 56 +++++ scripts/Vector2/Vector2.gml | 172 ++++++++++++++ scripts/Vector2/Vector2.yy | 12 + scripts/log/log.gml | 5 + scripts/log/log.yy | 12 + scripts/wave/wave.gml | 4 + scripts/wave/wave.yy | 12 + 21 files changed, 903 insertions(+) create mode 100644 Vectors.yyp create mode 100644 fonts/font_russian_pank/RussianPunk.ttf create mode 100644 fonts/font_russian_pank/font_russian_pank.old.png create mode 100644 fonts/font_russian_pank/font_russian_pank.old.yy create mode 100644 fonts/font_russian_pank/font_russian_pank.png create mode 100644 fonts/font_russian_pank/font_russian_pank.yy create mode 100644 objects/obj_demo/Create_0.gml create mode 100644 objects/obj_demo/Draw_0.gml create mode 100644 objects/obj_demo/obj_demo.yy create mode 100644 options/linux/options_linux.yy create mode 100644 options/mac/options_mac.yy create mode 100644 options/main/options_main.yy create mode 100644 options/operagx/options_operagx.yy create mode 100644 options/windows/options_windows.yy create mode 100644 rooms/room_demo/room_demo.yy create mode 100644 scripts/Vector2/Vector2.gml create mode 100644 scripts/Vector2/Vector2.yy create mode 100644 scripts/log/log.gml create mode 100644 scripts/log/log.yy create mode 100644 scripts/wave/wave.gml create mode 100644 scripts/wave/wave.yy diff --git a/Vectors.yyp b/Vectors.yyp new file mode 100644 index 0000000..28a55ec --- /dev/null +++ b/Vectors.yyp @@ -0,0 +1,47 @@ +{ + "resources": [ + {"id":{"name":"obj_demo","path":"objects/obj_demo/obj_demo.yy",},"order":0,}, + {"id":{"name":"wave","path":"scripts/wave/wave.yy",},"order":1,}, + {"id":{"name":"font_russian_pank","path":"fonts/font_russian_pank/font_russian_pank.yy",},"order":0,}, + {"id":{"name":"log","path":"scripts/log/log.yy",},"order":0,}, + {"id":{"name":"Vector2","path":"scripts/Vector2/Vector2.yy",},"order":2,}, + {"id":{"name":"room_demo","path":"rooms/room_demo/room_demo.yy",},"order":0,}, + ], + "Options": [ + {"name":"Linux","path":"options/linux/options_linux.yy",}, + {"name":"macOS","path":"options/mac/options_mac.yy",}, + {"name":"Main","path":"options/main/options_main.yy",}, + {"name":"Windows","path":"options/windows/options_windows.yy",}, + {"name":"operagx","path":"options/operagx/options_operagx.yy",}, + ], + "isDnDProject": false, + "isEcma": false, + "configs": { + "name": "Default", + "children": [], + }, + "RoomOrderNodes": [ + {"roomId":{"name":"room_demo","path":"rooms/room_demo/room_demo.yy",},}, + ], + "Folders": [ + {"folderPath":"folders/DEMO/Objects.yy","order":0,"resourceVersion":"1.0","name":"Objects","tags":[],"resourceType":"GMFolder",}, + {"folderPath":"folders/DEMO/Rooms.yy","order":1,"resourceVersion":"1.0","name":"Rooms","tags":[],"resourceType":"GMFolder",}, + {"folderPath":"folders/DEMO.yy","order":1,"resourceVersion":"1.0","name":"DEMO","tags":[],"resourceType":"GMFolder",}, + {"folderPath":"folders/DEMO/Scripts.yy","order":3,"resourceVersion":"1.0","name":"Scripts","tags":[],"resourceType":"GMFolder",}, + {"folderPath":"folders/DEMO/Fonts.yy","order":4,"resourceVersion":"1.0","name":"Fonts","tags":[],"resourceType":"GMFolder",}, + ], + "AudioGroups": [ + {"targets":-1,"resourceVersion":"1.3","name":"audiogroup_default","resourceType":"GMAudioGroup",}, + ], + "TextureGroups": [ + {"isScaled":true,"autocrop":true,"border":2,"mipsToGenerate":0,"groupParent":null,"targets":-1,"resourceVersion":"1.3","name":"Default","resourceType":"GMTextureGroup",}, + ], + "IncludedFiles": [], + "MetaData": { + "IDEVersion": "2022.1.0.609", + }, + "resourceVersion": "1.4", + "name": "Vectors", + "tags": [], + "resourceType": "GMProject", +} \ No newline at end of file diff --git a/fonts/font_russian_pank/RussianPunk.ttf b/fonts/font_russian_pank/RussianPunk.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fb15e2b33c0dad637cff52d935dc01e813e8c2e2 GIT binary patch literal 58172 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 Yu`*)@SBr@s{yQ71D6b}0Cu0`+U+I%Xng9R* literal 0 HcmV?d00001 diff --git a/fonts/font_russian_pank/font_russian_pank.old.yy b/fonts/font_russian_pank/font_russian_pank.old.yy new file mode 100644 index 0000000..ec646ff --- /dev/null +++ b/fonts/font_russian_pank/font_russian_pank.old.yy @@ -0,0 +1,210 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "applyKerning": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 12.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "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)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":4,"h":18,"character":32,"shift":4,"offset":0,}, + "33": {"x":165,"y":42,"w":3,"h":18,"character":33,"shift":4,"offset":1,}, + "34": {"x":158,"y":42,"w":5,"h":18,"character":34,"shift":6,"offset":0,}, + "35": {"x":147,"y":42,"w":9,"h":18,"character":35,"shift":9,"offset":0,}, + "36": {"x":136,"y":42,"w":9,"h":18,"character":36,"shift":9,"offset":0,}, + "37": {"x":120,"y":42,"w":14,"h":18,"character":37,"shift":14,"offset":0,}, + "38": {"x":107,"y":42,"w":11,"h":18,"character":38,"shift":11,"offset":0,}, + "39": {"x":102,"y":42,"w":3,"h":18,"character":39,"shift":3,"offset":0,}, + "40": {"x":95,"y":42,"w":5,"h":18,"character":40,"shift":5,"offset":0,}, + "41": {"x":88,"y":42,"w":5,"h":18,"character":41,"shift":5,"offset":0,}, + "42": {"x":170,"y":42,"w":6,"h":18,"character":42,"shift":6,"offset":0,}, + "43": {"x":77,"y":42,"w":9,"h":18,"character":43,"shift":9,"offset":0,}, + "44": {"x":61,"y":42,"w":3,"h":18,"character":44,"shift":4,"offset":1,}, + "45": {"x":54,"y":42,"w":5,"h":18,"character":45,"shift":5,"offset":0,}, + "46": {"x":49,"y":42,"w":3,"h":18,"character":46,"shift":4,"offset":1,}, + "47": {"x":42,"y":42,"w":5,"h":18,"character":47,"shift":4,"offset":0,}, + "48": {"x":31,"y":42,"w":9,"h":18,"character":48,"shift":9,"offset":0,}, + "49": {"x":24,"y":42,"w":5,"h":18,"character":49,"shift":9,"offset":1,}, + "50": {"x":13,"y":42,"w":9,"h":18,"character":50,"shift":9,"offset":0,}, + "51": {"x":2,"y":42,"w":9,"h":18,"character":51,"shift":9,"offset":0,}, + "52": {"x":240,"y":22,"w":9,"h":18,"character":52,"shift":9,"offset":0,}, + "53": {"x":66,"y":42,"w":9,"h":18,"character":53,"shift":9,"offset":0,}, + "54": {"x":178,"y":42,"w":9,"h":18,"character":54,"shift":9,"offset":0,}, + "55": {"x":189,"y":42,"w":9,"h":18,"character":55,"shift":9,"offset":0,}, + "56": {"x":200,"y":42,"w":9,"h":18,"character":56,"shift":9,"offset":0,}, + "57": {"x":186,"y":62,"w":9,"h":18,"character":57,"shift":9,"offset":0,}, + "58": {"x":181,"y":62,"w":3,"h":18,"character":58,"shift":4,"offset":1,}, + "59": {"x":176,"y":62,"w":3,"h":18,"character":59,"shift":4,"offset":1,}, + "60": {"x":165,"y":62,"w":9,"h":18,"character":60,"shift":9,"offset":0,}, + "61": {"x":154,"y":62,"w":9,"h":18,"character":61,"shift":9,"offset":0,}, + "62": {"x":143,"y":62,"w":9,"h":18,"character":62,"shift":9,"offset":0,}, + "63": {"x":132,"y":62,"w":9,"h":18,"character":63,"shift":9,"offset":0,}, + "64": {"x":114,"y":62,"w":16,"h":18,"character":64,"shift":16,"offset":0,}, + "65": {"x":100,"y":62,"w":12,"h":18,"character":65,"shift":11,"offset":-1,}, + "66": {"x":89,"y":62,"w":9,"h":18,"character":66,"shift":11,"offset":1,}, + "67": {"x":76,"y":62,"w":11,"h":18,"character":67,"shift":12,"offset":0,}, + "68": {"x":64,"y":62,"w":10,"h":18,"character":68,"shift":12,"offset":1,}, + "69": {"x":53,"y":62,"w":9,"h":18,"character":69,"shift":11,"offset":1,}, + "70": {"x":42,"y":62,"w":9,"h":18,"character":70,"shift":10,"offset":1,}, + "71": {"x":28,"y":62,"w":12,"h":18,"character":71,"shift":12,"offset":0,}, + "72": {"x":16,"y":62,"w":10,"h":18,"character":72,"shift":12,"offset":1,}, + "73": {"x":11,"y":62,"w":3,"h":18,"character":73,"shift":4,"offset":1,}, + "74": {"x":2,"y":62,"w":7,"h":18,"character":74,"shift":8,"offset":0,}, + "75": {"x":235,"y":42,"w":10,"h":18,"character":75,"shift":11,"offset":1,}, + "76": {"x":225,"y":42,"w":8,"h":18,"character":76,"shift":9,"offset":1,}, + "77": {"x":211,"y":42,"w":12,"h":18,"character":77,"shift":13,"offset":1,}, + "78": {"x":228,"y":22,"w":10,"h":18,"character":78,"shift":12,"offset":1,}, + "79": {"x":214,"y":22,"w":12,"h":18,"character":79,"shift":12,"offset":0,}, + "80": {"x":203,"y":22,"w":9,"h":18,"character":80,"shift":11,"offset":1,}, + "81": {"x":232,"y":2,"w":12,"h":18,"character":81,"shift":12,"offset":0,}, + "82": {"x":213,"y":2,"w":11,"h":18,"character":82,"shift":12,"offset":1,}, + "83": {"x":201,"y":2,"w":10,"h":18,"character":83,"shift":11,"offset":0,}, + "84": {"x":189,"y":2,"w":10,"h":18,"character":84,"shift":10,"offset":0,}, + "85": {"x":177,"y":2,"w":10,"h":18,"character":85,"shift":12,"offset":1,}, + "86": {"x":164,"y":2,"w":11,"h":18,"character":86,"shift":11,"offset":0,}, + "87": {"x":147,"y":2,"w":15,"h":18,"character":87,"shift":15,"offset":0,}, + "88": {"x":134,"y":2,"w":11,"h":18,"character":88,"shift":11,"offset":0,}, + "89": {"x":121,"y":2,"w":11,"h":18,"character":89,"shift":11,"offset":0,}, + "90": {"x":109,"y":2,"w":10,"h":18,"character":90,"shift":10,"offset":0,}, + "91": {"x":226,"y":2,"w":4,"h":18,"character":91,"shift":4,"offset":1,}, + "92": {"x":102,"y":2,"w":5,"h":18,"character":92,"shift":4,"offset":0,}, + "93": {"x":89,"y":2,"w":4,"h":18,"character":93,"shift":4,"offset":0,}, + "94": {"x":79,"y":2,"w":8,"h":18,"character":94,"shift":8,"offset":0,}, + "95": {"x":66,"y":2,"w":11,"h":18,"character":95,"shift":9,"offset":-1,}, + "96": {"x":60,"y":2,"w":4,"h":18,"character":96,"shift":5,"offset":0,}, + "97": {"x":49,"y":2,"w":9,"h":18,"character":97,"shift":9,"offset":0,}, + "98": {"x":39,"y":2,"w":8,"h":18,"character":98,"shift":9,"offset":1,}, + "99": {"x":29,"y":2,"w":8,"h":18,"character":99,"shift":8,"offset":0,}, + "100": {"x":19,"y":2,"w":8,"h":18,"character":100,"shift":9,"offset":0,}, + "101": {"x":8,"y":2,"w":9,"h":18,"character":101,"shift":9,"offset":0,}, + "102": {"x":95,"y":2,"w":5,"h":18,"character":102,"shift":4,"offset":0,}, + "103": {"x":2,"y":22,"w":8,"h":18,"character":103,"shift":9,"offset":0,}, + "104": {"x":97,"y":22,"w":7,"h":18,"character":104,"shift":9,"offset":1,}, + "105": {"x":12,"y":22,"w":2,"h":18,"character":105,"shift":4,"offset":1,}, + "106": {"x":187,"y":22,"w":4,"h":18,"character":106,"shift":4,"offset":-1,}, + "107": {"x":178,"y":22,"w":7,"h":18,"character":107,"shift":8,"offset":1,}, + "108": {"x":174,"y":22,"w":2,"h":18,"character":108,"shift":4,"offset":1,}, + "109": {"x":160,"y":22,"w":12,"h":18,"character":109,"shift":13,"offset":1,}, + "110": {"x":151,"y":22,"w":7,"h":18,"character":110,"shift":9,"offset":1,}, + "111": {"x":140,"y":22,"w":9,"h":18,"character":111,"shift":9,"offset":0,}, + "112": {"x":130,"y":22,"w":8,"h":18,"character":112,"shift":9,"offset":1,}, + "113": {"x":120,"y":22,"w":8,"h":18,"character":113,"shift":9,"offset":0,}, + "114": {"x":113,"y":22,"w":5,"h":18,"character":114,"shift":5,"offset":1,}, + "115": {"x":193,"y":22,"w":8,"h":18,"character":115,"shift":8,"offset":0,}, + "116": {"x":106,"y":22,"w":5,"h":18,"character":116,"shift":4,"offset":0,}, + "117": {"x":88,"y":22,"w":7,"h":18,"character":117,"shift":9,"offset":1,}, + "118": {"x":78,"y":22,"w":8,"h":18,"character":118,"shift":8,"offset":0,}, + "119": {"x":64,"y":22,"w":12,"h":18,"character":119,"shift":12,"offset":0,}, + "120": {"x":54,"y":22,"w":8,"h":18,"character":120,"shift":8,"offset":0,}, + "121": {"x":44,"y":22,"w":8,"h":18,"character":121,"shift":8,"offset":0,}, + "122": {"x":34,"y":22,"w":8,"h":18,"character":122,"shift":8,"offset":0,}, + "123": {"x":27,"y":22,"w":5,"h":18,"character":123,"shift":5,"offset":0,}, + "124": {"x":23,"y":22,"w":2,"h":18,"character":124,"shift":4,"offset":1,}, + "125": {"x":16,"y":22,"w":5,"h":18,"character":125,"shift":5,"offset":0,}, + "126": {"x":197,"y":62,"w":9,"h":18,"character":126,"shift":9,"offset":0,}, + "9647": {"x":208,"y":62,"w":10,"h":18,"character":9647,"shift":16,"offset":3,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-1,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-1,}, + {"first":65,"second":86,"amount":-1,}, + {"first":65,"second":89,"amount":-1,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-1,}, + {"first":70,"second":44,"amount":-1,}, + {"first":70,"second":46,"amount":-1,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":84,"amount":-1,}, + {"first":76,"second":86,"amount":-1,}, + {"first":76,"second":87,"amount":-1,}, + {"first":76,"second":89,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-1,}, + {"first":80,"second":46,"amount":-1,}, + {"first":80,"second":65,"amount":-1,}, + {"first":84,"second":44,"amount":-1,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-1,}, + {"first":84,"second":58,"amount":-1,}, + {"first":84,"second":59,"amount":-1,}, + {"first":84,"second":65,"amount":-1,}, + {"first":84,"second":97,"amount":-1,}, + {"first":84,"second":99,"amount":-1,}, + {"first":84,"second":101,"amount":-1,}, + {"first":84,"second":111,"amount":-1,}, + {"first":84,"second":115,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-1,}, + {"first":86,"second":44,"amount":-1,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-1,}, + {"first":86,"second":65,"amount":-1,}, + {"first":86,"second":97,"amount":-1,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":89,"second":44,"amount":-1,}, + {"first":89,"second":45,"amount":-1,}, + {"first":89,"second":46,"amount":-1,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-1,}, + {"first":89,"second":65,"amount":-1,}, + {"first":89,"second":97,"amount":-1,}, + {"first":89,"second":101,"amount":-1,}, + {"first":89,"second":111,"amount":-1,}, + {"first":89,"second":112,"amount":-1,}, + {"first":89,"second":113,"amount":-1,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-1,}, + {"first":89,"second":894,"amount":-1,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":118,"second":44,"amount":-1,}, + {"first":118,"second":46,"amount":-1,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-1,}, + {"first":121,"second":46,"amount":-1,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Fonts", + "path": "folders/DEMO/Fonts.yy", + }, + "resourceVersion": "1.0", + "name": "font_russian_pank", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/fonts/font_russian_pank/font_russian_pank.png b/fonts/font_russian_pank/font_russian_pank.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2b7a6d8b8165e334f8599c0937190d42377cd1 GIT binary patch literal 11111 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\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", + "includeTTF": true, + "TTFName": "${project_dir}\\fonts\\font_russian_pank\\RussianPunk.ttf", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":8,"h":23,"character":32,"shift":8,"offset":0,}, + "33": {"x":198,"y":52,"w":4,"h":23,"character":33,"shift":4,"offset":0,}, + "34": {"x":188,"y":52,"w":8,"h":23,"character":34,"shift":8,"offset":0,}, + "35": {"x":171,"y":52,"w":15,"h":23,"character":35,"shift":16,"offset":1,}, + "36": {"x":160,"y":52,"w":9,"h":23,"character":36,"shift":9,"offset":0,}, + "37": {"x":145,"y":52,"w":13,"h":23,"character":37,"shift":13,"offset":0,}, + "38": {"x":135,"y":52,"w":8,"h":23,"character":38,"shift":9,"offset":1,}, + "39": {"x":129,"y":52,"w":4,"h":23,"character":39,"shift":4,"offset":0,}, + "40": {"x":122,"y":52,"w":5,"h":23,"character":40,"shift":6,"offset":0,}, + "41": {"x":115,"y":52,"w":5,"h":23,"character":41,"shift":5,"offset":0,}, + "42": {"x":204,"y":52,"w":5,"h":23,"character":42,"shift":4,"offset":-1,}, + "43": {"x":106,"y":52,"w":7,"h":23,"character":43,"shift":8,"offset":1,}, + "44": {"x":90,"y":52,"w":3,"h":23,"character":44,"shift":4,"offset":1,}, + "45": {"x":81,"y":52,"w":7,"h":23,"character":45,"shift":8,"offset":1,}, + "46": {"x":76,"y":52,"w":3,"h":23,"character":46,"shift":4,"offset":1,}, + "47": {"x":67,"y":52,"w":7,"h":23,"character":47,"shift":7,"offset":0,}, + "48": {"x":56,"y":52,"w":9,"h":23,"character":48,"shift":9,"offset":0,}, + "49": {"x":47,"y":52,"w":7,"h":23,"character":49,"shift":7,"offset":0,}, + "50": {"x":36,"y":52,"w":9,"h":23,"character":50,"shift":9,"offset":0,}, + "51": {"x":26,"y":52,"w":8,"h":23,"character":51,"shift":8,"offset":0,}, + "52": {"x":13,"y":52,"w":11,"h":23,"character":52,"shift":9,"offset":-1,}, + "53": {"x":95,"y":52,"w":9,"h":23,"character":53,"shift":9,"offset":0,}, + "54": {"x":211,"y":52,"w":8,"h":23,"character":54,"shift":9,"offset":1,}, + "55": {"x":221,"y":52,"w":8,"h":23,"character":55,"shift":8,"offset":0,}, + "56": {"x":231,"y":52,"w":8,"h":23,"character":56,"shift":8,"offset":0,}, + "57": {"x":189,"y":77,"w":9,"h":23,"character":57,"shift":9,"offset":0,}, + "58": {"x":184,"y":77,"w":3,"h":23,"character":58,"shift":4,"offset":1,}, + "59": {"x":179,"y":77,"w":3,"h":23,"character":59,"shift":4,"offset":1,}, + "60": {"x":167,"y":77,"w":10,"h":23,"character":60,"shift":9,"offset":0,}, + "61": {"x":158,"y":77,"w":7,"h":23,"character":61,"shift":8,"offset":1,}, + "62": {"x":147,"y":77,"w":9,"h":23,"character":62,"shift":9,"offset":0,}, + "63": {"x":136,"y":77,"w":9,"h":23,"character":63,"shift":9,"offset":0,}, + "64": {"x":121,"y":77,"w":13,"h":23,"character":64,"shift":13,"offset":0,}, + "65": {"x":109,"y":77,"w":10,"h":23,"character":65,"shift":10,"offset":0,}, + "66": {"x":98,"y":77,"w":9,"h":23,"character":66,"shift":9,"offset":0,}, + "67": {"x":88,"y":77,"w":8,"h":23,"character":67,"shift":8,"offset":0,}, + "68": {"x":77,"y":77,"w":9,"h":23,"character":68,"shift":9,"offset":0,}, + "69": {"x":66,"y":77,"w":9,"h":23,"character":69,"shift":9,"offset":0,}, + "70": {"x":56,"y":77,"w":8,"h":23,"character":70,"shift":8,"offset":0,}, + "71": {"x":46,"y":77,"w":8,"h":23,"character":71,"shift":9,"offset":0,}, + "72": {"x":36,"y":77,"w":8,"h":23,"character":72,"shift":9,"offset":1,}, + "73": {"x":30,"y":77,"w":4,"h":23,"character":73,"shift":4,"offset":0,}, + "74": {"x":23,"y":77,"w":5,"h":23,"character":74,"shift":6,"offset":0,}, + "75": {"x":12,"y":77,"w":9,"h":23,"character":75,"shift":9,"offset":0,}, + "76": {"x":2,"y":77,"w":8,"h":23,"character":76,"shift":9,"offset":0,}, + "77": {"x":241,"y":52,"w":12,"h":23,"character":77,"shift":13,"offset":0,}, + "78": {"x":2,"y":52,"w":9,"h":23,"character":78,"shift":9,"offset":0,}, + "79": {"x":237,"y":27,"w":10,"h":23,"character":79,"shift":10,"offset":0,}, + "80": {"x":226,"y":27,"w":9,"h":23,"character":80,"shift":9,"offset":0,}, + "81": {"x":230,"y":2,"w":10,"h":23,"character":81,"shift":10,"offset":0,}, + "82": {"x":212,"y":2,"w":8,"h":23,"character":82,"shift":9,"offset":1,}, + "83": {"x":201,"y":2,"w":9,"h":23,"character":83,"shift":9,"offset":0,}, + "84": {"x":191,"y":2,"w":8,"h":23,"character":84,"shift":8,"offset":0,}, + "85": {"x":180,"y":2,"w":9,"h":23,"character":85,"shift":9,"offset":0,}, + "86": {"x":169,"y":2,"w":9,"h":23,"character":86,"shift":9,"offset":0,}, + "87": {"x":154,"y":2,"w":13,"h":23,"character":87,"shift":14,"offset":0,}, + "88": {"x":143,"y":2,"w":9,"h":23,"character":88,"shift":10,"offset":0,}, + "89": {"x":132,"y":2,"w":9,"h":23,"character":89,"shift":9,"offset":0,}, + "90": {"x":122,"y":2,"w":8,"h":23,"character":90,"shift":7,"offset":0,}, + "91": {"x":222,"y":2,"w":6,"h":23,"character":91,"shift":6,"offset":0,}, + "92": {"x":113,"y":2,"w":7,"h":23,"character":92,"shift":7,"offset":0,}, + "93": {"x":96,"y":2,"w":5,"h":23,"character":93,"shift":6,"offset":1,}, + "94": {"x":85,"y":2,"w":9,"h":23,"character":94,"shift":10,"offset":0,}, + "95": {"x":74,"y":2,"w":9,"h":23,"character":95,"shift":10,"offset":1,}, + "96": {"x":67,"y":2,"w":5,"h":23,"character":96,"shift":5,"offset":0,}, + "97": {"x":55,"y":2,"w":10,"h":23,"character":97,"shift":10,"offset":0,}, + "98": {"x":44,"y":2,"w":9,"h":23,"character":98,"shift":9,"offset":0,}, + "99": {"x":34,"y":2,"w":8,"h":23,"character":99,"shift":8,"offset":0,}, + "100": {"x":23,"y":2,"w":9,"h":23,"character":100,"shift":9,"offset":0,}, + "101": {"x":12,"y":2,"w":9,"h":23,"character":101,"shift":9,"offset":0,}, + "102": {"x":103,"y":2,"w":8,"h":23,"character":102,"shift":8,"offset":0,}, + "103": {"x":242,"y":2,"w":8,"h":23,"character":103,"shift":9,"offset":0,}, + "104": {"x":97,"y":27,"w":8,"h":23,"character":104,"shift":9,"offset":1,}, + "105": {"x":2,"y":27,"w":4,"h":23,"character":105,"shift":4,"offset":0,}, + "106": {"x":208,"y":27,"w":5,"h":23,"character":106,"shift":6,"offset":0,}, + "107": {"x":197,"y":27,"w":9,"h":23,"character":107,"shift":9,"offset":0,}, + "108": {"x":187,"y":27,"w":8,"h":23,"character":108,"shift":9,"offset":0,}, + "109": {"x":173,"y":27,"w":12,"h":23,"character":109,"shift":13,"offset":0,}, + "110": {"x":162,"y":27,"w":9,"h":23,"character":110,"shift":9,"offset":0,}, + "111": {"x":150,"y":27,"w":10,"h":23,"character":111,"shift":10,"offset":0,}, + "112": {"x":139,"y":27,"w":9,"h":23,"character":112,"shift":9,"offset":0,}, + "113": {"x":127,"y":27,"w":10,"h":23,"character":113,"shift":10,"offset":0,}, + "114": {"x":117,"y":27,"w":8,"h":23,"character":114,"shift":9,"offset":1,}, + "115": {"x":215,"y":27,"w":9,"h":23,"character":115,"shift":9,"offset":0,}, + "116": {"x":107,"y":27,"w":8,"h":23,"character":116,"shift":8,"offset":0,}, + "117": {"x":86,"y":27,"w":9,"h":23,"character":117,"shift":9,"offset":0,}, + "118": {"x":75,"y":27,"w":9,"h":23,"character":118,"shift":9,"offset":0,}, + "119": {"x":60,"y":27,"w":13,"h":23,"character":119,"shift":14,"offset":0,}, + "120": {"x":49,"y":27,"w":9,"h":23,"character":120,"shift":10,"offset":0,}, + "121": {"x":38,"y":27,"w":9,"h":23,"character":121,"shift":9,"offset":0,}, + "122": {"x":28,"y":27,"w":8,"h":23,"character":122,"shift":7,"offset":0,}, + "123": {"x":21,"y":27,"w":5,"h":23,"character":123,"shift":6,"offset":0,}, + "124": {"x":15,"y":27,"w":4,"h":23,"character":124,"shift":4,"offset":0,}, + "125": {"x":8,"y":27,"w":5,"h":23,"character":125,"shift":5,"offset":0,}, + "126": {"x":200,"y":77,"w":7,"h":23,"character":126,"shift":8,"offset":1,}, + "9647": {"x":209,"y":77,"w":10,"h":23,"character":9647,"shift":16,"offset":3,}, + }, + "kerningPairs": [], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Fonts", + "path": "folders/DEMO/Fonts.yy", + }, + "resourceVersion": "1.0", + "name": "font_russian_pank", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/objects/obj_demo/Create_0.gml b/objects/obj_demo/Create_0.gml new file mode 100644 index 0000000..9bc89e1 --- /dev/null +++ b/objects/obj_demo/Create_0.gml @@ -0,0 +1,64 @@ +/// @desc Examples + +// New Vector2 +var vector2 = new Vector2(324, 567); + +// Vector2 to_string() +// returns a document, you can supply your own separator as input, by default ":" +// first x then y +log(vector2.to_string()); // Outuput: 324:567 +log(vector2.to_string("][")); // Outuput: 324][567 + +// Vector2 negative() +// makes vector values negative +vector2.negative(); +log(vector2.to_string()); // Outuput: -324:-567 + +// Vector2 set() +// sets values for x & y a vector +vector2.set(35, 60); // or vector2.set(new Vector2(35, 60)); +log(vector2.to_string()); // Outuput: 35:60 + +// Vector2 add() +// summing one vector by another, or alternatively takes two coordinates +vector2.add(35, 60); +log(vector2.to_string()); // Outuput: 70:120 + +// I did not create a function for subtraction, +// you can simply use the negative() function and the vector itself to be subtracted +var some_vector = new Vector2(-35, -60); +vector2.add(some_vector); +log(vector2.to_string()); // Outuput: 35:60 + +// Vector2 multi() +// multiply one vector by another, or alternatively takes two coordinates +vector2.multi(2, 2); +log(vector2.to_string()); // Outuput: 70:120 +vector2.multi(new Vector2(2, 2)); +log(vector2.to_string()); // Outuput: 140:240 +// Division can be done through multiplication +vector2.multi(0.1, 0.1); +log(vector2.to_string()); // Outuput: 7:12 + +// Vector2 zero() +// Nullifies the vector +vector2.zero(); +log(vector2.to_string()); // Outuput: 0:0 + +// Vector2 _min() _max() _clamp() +//accepts either a vector or numeric values as input and returns +vector2.set(vector2._max(10, 10)); // Set max to vector +log(vector2.to_string()); // Outuput: 10:10 +log((vector2._min(new Vector2(0, 11))).to_string()); // Outuput: 0:10 +log((vector2._clamp(4, 10, 3, 5)).to_string()); // Outuput: 3:5 + +// Vector2 _length() +// returns the length of the vector according to the formula +// sqr(x * x + y * y) +// P.S. the function returns a real number, but the log automatically converts to a string +log(vector2._length()); // Outuput: 4000 + +// Vector2 _lerp() & not Vector2 fumction vector2_to_string() +// this also works for either numbers or vector +log(vector2_to_string(vector2, " Juju ")); // Outuput: 10 Juju 10 +log(vector2_to_string(vector2._lerp(100, 100, 0.5), " - ")); // Outuput: 55 - 55 \ No newline at end of file diff --git a/objects/obj_demo/Draw_0.gml b/objects/obj_demo/Draw_0.gml new file mode 100644 index 0000000..1789847 --- /dev/null +++ b/objects/obj_demo/Draw_0.gml @@ -0,0 +1,4 @@ +draw_set_halign(fa_center); +draw_set_valign(fa_center); +draw_set_font(font_russian_pank); +draw_text_transformed_color(room_width / 2, room_height / 2, "It simple text!\nFrp examples see in output and obj_demo", wave(2.25, 2.75, 3, 0), wave(2.25, 2.75, 3, 1), wave(-10, 10, 3, 2), c_green, c_green, c_purple, c_purple, 1); \ No newline at end of file diff --git a/objects/obj_demo/obj_demo.yy b/objects/obj_demo/obj_demo.yy new file mode 100644 index 0000000..ed4d611 --- /dev/null +++ b/objects/obj_demo/obj_demo.yy @@ -0,0 +1,34 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Objects", + "path": "folders/DEMO/Objects.yy", + }, + "resourceVersion": "1.0", + "name": "obj_demo", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/options/linux/options_linux.yy b/options/linux/options_linux.yy new file mode 100644 index 0000000..4978896 --- /dev/null +++ b/options/linux/options_linux.yy @@ -0,0 +1,25 @@ +{ + "option_linux_display_name": "Created with GameMaker Studio 2", + "option_linux_version": "1.0.0.0", + "option_linux_maintainer_email": "", + "option_linux_homepage": "http://www.yoyogames.com", + "option_linux_short_desc": "", + "option_linux_long_desc": "", + "option_linux_splash_screen": "${base_options_dir}/linux/splash/splash.png", + "option_linux_display_splash": false, + "option_linux_icon": "${base_options_dir}/linux/icons/64.png", + "option_linux_start_fullscreen": false, + "option_linux_allow_fullscreen": false, + "option_linux_interpolate_pixels": true, + "option_linux_display_cursor": true, + "option_linux_sync": false, + "option_linux_resize_window": false, + "option_linux_scale": 0, + "option_linux_texture_page": "2048x2048", + "option_linux_enable_steam": false, + "option_linux_disable_sandbox": false, + "resourceVersion": "1.0", + "name": "Linux", + "tags": [], + "resourceType": "GMLinuxOptions", +} \ No newline at end of file diff --git a/options/mac/options_mac.yy b/options/mac/options_mac.yy new file mode 100644 index 0000000..73e249f --- /dev/null +++ b/options/mac/options_mac.yy @@ -0,0 +1,33 @@ +{ + "option_mac_display_name": "Created with GameMaker Studio 2", + "option_mac_app_id": "com.company.game", + "option_mac_version": "1.0.0.0", + "option_mac_output_dir": "~/gamemakerstudio2", + "option_mac_team_id": "", + "option_mac_signing_identity": "Developer ID Application:", + "option_mac_copyright": "", + "option_mac_splash_png": "${base_options_dir}/mac/splash/splash.png", + "option_mac_icon_png": "${base_options_dir}/mac/icons/1024.png", + "option_mac_installer_background_png": "${base_options_dir}/mac/splash/installer_background.png", + "option_mac_menu_dock": false, + "option_mac_display_cursor": true, + "option_mac_start_fullscreen": false, + "option_mac_allow_fullscreen": false, + "option_mac_interpolate_pixels": true, + "option_mac_vsync": false, + "option_mac_resize_window": false, + "option_mac_enable_retina": false, + "option_mac_scale": 0, + "option_mac_texture_page": "2048x2048", + "option_mac_build_app_store": false, + "option_mac_allow_incoming_network": false, + "option_mac_allow_outgoing_network": false, + "option_mac_app_category": "Games", + "option_mac_enable_steam": false, + "option_mac_disable_sandbox": false, + "option_mac_apple_sign_in": false, + "resourceVersion": "1.0", + "name": "macOS", + "tags": [], + "resourceType": "GMMacOptions", +} \ No newline at end of file diff --git a/options/main/options_main.yy b/options/main/options_main.yy new file mode 100644 index 0000000..5c6876e --- /dev/null +++ b/options/main/options_main.yy @@ -0,0 +1,21 @@ +{ + "option_gameguid": "89e120d7-7eaa-4bf2-b5d3-910722622d3c", + "option_gameid": "0", + "option_game_speed": 60, + "option_mips_for_3d_textures": false, + "option_draw_colour": 4294967295, + "option_window_colour": 255, + "option_steam_app_id": "0", + "option_sci_usesci": false, + "option_author": "", + "option_collision_compatibility": false, + "option_lastchanged": "", + "option_spine_licence": false, + "option_template_image": "${base_options_dir}/main/template_image.png", + "option_template_icon": "${base_options_dir}/main/template_icon.png", + "option_template_description": null, + "resourceVersion": "1.3", + "name": "Main", + "tags": [], + "resourceType": "GMMainOptions", +} \ No newline at end of file diff --git a/options/operagx/options_operagx.yy b/options/operagx/options_operagx.yy new file mode 100644 index 0000000..2cf254e --- /dev/null +++ b/options/operagx/options_operagx.yy @@ -0,0 +1,18 @@ +{ + "option_operagx_version": "1.0.0.0", + "option_operagx_next_version": "1.0.0.0", + "option_operagx_game_name": "${project_name}", + "option_operagx_interpolate_pixels": true, + "option_operagx_scale": 0, + "option_operagx_texture_page": "2048x2048", + "option_operagx_display_cursor": true, + "option_operagx_guid": "", + "option_operagx_team_name": "", + "option_operagx_editUrl": "", + "option_operagx_internalShareUrl": "", + "option_operagx_publicShareUrl": "", + "resourceVersion": "1.0", + "name": "operagx", + "tags": [], + "resourceType": "GMOperaGXOptions", +} \ No newline at end of file diff --git a/options/windows/options_windows.yy b/options/windows/options_windows.yy new file mode 100644 index 0000000..f2def21 --- /dev/null +++ b/options/windows/options_windows.yy @@ -0,0 +1,36 @@ +{ + "option_windows_display_name": "Vectors", + "option_windows_executable_name": "${project_name}.exe", + "option_windows_version": "0.0.0.1", + "option_windows_company_info": "Tornado Tech", + "option_windows_product_info": "Vectors", + "option_windows_copyright_info": "", + "option_windows_description_info": "Example for lib Vectors", + "option_windows_display_cursor": true, + "option_windows_icon": "${base_options_dir}/windows/icons/icon.ico", + "option_windows_save_location": 0, + "option_windows_splash_screen": "${base_options_dir}/windows/splash/splash.png", + "option_windows_use_splash": false, + "option_windows_start_fullscreen": false, + "option_windows_allow_fullscreen_switching": false, + "option_windows_interpolate_pixels": false, + "option_windows_vsync": false, + "option_windows_resize_window": false, + "option_windows_borderless": false, + "option_windows_scale": 0, + "option_windows_copy_exe_to_dest": false, + "option_windows_sleep_margin": 10, + "option_windows_texture_page": "2048x2048", + "option_windows_installer_finished": "${base_options_dir}/windows/installer/finished.bmp", + "option_windows_installer_header": "${base_options_dir}/windows/installer/header.bmp", + "option_windows_license": "${base_options_dir}/windows/installer/license.txt", + "option_windows_nsis_file": "${base_options_dir}/windows/installer/nsis_script.nsi", + "option_windows_enable_steam": false, + "option_windows_disable_sandbox": false, + "option_windows_steam_use_alternative_launcher": false, + "option_windows_use_x64": false, + "resourceVersion": "1.1", + "name": "Windows", + "tags": [], + "resourceType": "GMWindowsOptions", +} \ No newline at end of file diff --git a/rooms/room_demo/room_demo.yy b/rooms/room_demo/room_demo.yy new file mode 100644 index 0000000..12c54da --- /dev/null +++ b/rooms/room_demo/room_demo.yy @@ -0,0 +1,56 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1366,"hview":768,"xport":0,"yport":0,"wport":1366,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"obj_demo","path":"objects/obj_demo/obj_demo.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":0.0,"resourceVersion":"1.0","name":"inst_75936FE6","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Instances","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":null,"colour":4279830786,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":15.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":100,"userdefinedDepth":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Background","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_75936FE6","path":"rooms/room_demo/room_demo.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1366, + "Height": 768, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": false, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Rooms", + "path": "folders/DEMO/Rooms.yy", + }, + "resourceVersion": "1.0", + "name": "room_demo", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/scripts/Vector2/Vector2.gml b/scripts/Vector2/Vector2.gml new file mode 100644 index 0000000..c5f6380 --- /dev/null +++ b/scripts/Vector2/Vector2.gml @@ -0,0 +1,172 @@ +enum vector2_dir { + down, + left, + one, + right, + up, + negone +} + +/// @param x +/// @param y +function Vector2(_x, _y) constructor { + x = _x; + y = _y; + + set = function() { + var vector = argument[0]; + + if (argument_count > 1) { + _x = argument[0]; + _y = argument[1]; + vector = new Vector2(_x, _y); + } + + x = vector.x; + y = vector.y; + } + + negative = function() { + x = -x; + y = -y; + } + + add = function() { + var vector = argument[0]; + + if (argument_count > 1) { + _x = argument[0]; + _y = argument[1]; + vector = new Vector2(_x, _y); + } + + x += vector.x; + y += vector.y; + } + + multi = function() { + var vector = argument[0]; + + if (argument_count > 1) { + _x = argument[0]; + _y = argument[1]; + vector = new Vector2(_x, _y); + } + + x *= vector.x; + y *= vector.y; + } + + zero = function() { + x = 0; + y = 0; + } + + to_string = function(delimiter = ":") { + return string(x) + delimiter + string(y); + } + + _length = function() { + return sqr(x * x + y * y); + } + + _min = function() { + var vector = argument[0]; + + if (argument_count > 1) { + _x = argument[0]; + _y = argument[1]; + vector = new Vector2(_x, _y); + } + + return new Vector2(min(x, vector.x), min(y, vector.y)); + } + + _max = function() { + var vector = argument[0]; + + if (argument_count > 1) { + _x = argument[0]; + _y = argument[1]; + vector = new Vector2(_x, _y); + } + + return new Vector2(max(x, vector.x), max(y, vector.y)); + } + + _clamp = function() { + var vector_min = argument[0]; + var vector_max = argument[1]; + + if (argument_count > 2) { + var _mix = argument[0]; + var _miy = argument[1]; + var _max = argument[2]; + var _may = argument[3]; + vector_min = new Vector2(_mix, _miy); + vector_max = new Vector2(_max, _may); + } + + return new Vector2(clamp(x, vector_min.x, vector_max.x), clamp(y, vector_min.y, vector_max.y)); + } + + _lerp = function() { + var vector = argument[0]; + var amount = ":"; + + if (argument_count > 1) { + amount = argument[1]; + } + + if (argument_count > 2) { + _x = argument[0]; + _y = argument[1]; + amount = argument[2]; + vector = new Vector2(_x, _y); + } + + return new Vector2(lerp(x, vector.x, amount), lerp(y, vector.y, amount)); + } + + #region Dir + var _dir_base = function(dir, value, vector) { + switch (dir) { + case vector2_dir.down: + vector.y = -value; + break; + case vector2_dir.left: + vector.y = -value; + break; + case vector2_dir.one: + vector.x = value; + vector.y = value; + break; + case vector2_dir.right: + vector.x = value; + break; + case vector2_dir.up: + vector.y = value; + break; + case vector2_dir.negone: + vector.x = -value; + vector.y = -value; + break; + } + } + + dir_set = function(dir, value) { + _dir_base(dir, value, self); + } + + dir_add = function(dir, value) { + var vector = new Vector2(x, y); + _dir_base(dir, value, vector); + vector.min(new Vector2(1, 1)); + self.multi(vector); + } + #endregion +} + +function vector2_to_string(vector, delimiter = ":") { + return vector.to_string(delimiter); +} \ No newline at end of file diff --git a/scripts/Vector2/Vector2.yy b/scripts/Vector2/Vector2.yy new file mode 100644 index 0000000..81ec88a --- /dev/null +++ b/scripts/Vector2/Vector2.yy @@ -0,0 +1,12 @@ +{ + "isDnD": false, + "isCompatibility": false, + "parent": { + "name": "Vectors", + "path": "Vectors.yyp", + }, + "resourceVersion": "1.0", + "name": "Vector2", + "tags": [], + "resourceType": "GMScript", +} \ No newline at end of file diff --git a/scripts/log/log.gml b/scripts/log/log.gml new file mode 100644 index 0000000..0a49545 --- /dev/null +++ b/scripts/log/log.gml @@ -0,0 +1,5 @@ +function log(msg) { + var time = date_datetime_string(date_current_datetime()); + var add = "[" + time + "]"; + show_debug_message(add + " " + string(msg)); +} \ No newline at end of file diff --git a/scripts/log/log.yy b/scripts/log/log.yy new file mode 100644 index 0000000..6618396 --- /dev/null +++ b/scripts/log/log.yy @@ -0,0 +1,12 @@ +{ + "isDnD": false, + "isCompatibility": false, + "parent": { + "name": "Scripts", + "path": "folders/DEMO/Scripts.yy", + }, + "resourceVersion": "1.0", + "name": "log", + "tags": [], + "resourceType": "GMScript", +} \ No newline at end of file diff --git a/scripts/wave/wave.gml b/scripts/wave/wave.gml new file mode 100644 index 0000000..411fe84 --- /dev/null +++ b/scripts/wave/wave.gml @@ -0,0 +1,4 @@ +function wave(from, to, duration, offset) { + var a4 = (to - from) * 0.5; + return from + a4 + sin((((current_time * 0.001) + duration * offset) / duration) * (pi * 2)) * a4; +} \ No newline at end of file diff --git a/scripts/wave/wave.yy b/scripts/wave/wave.yy new file mode 100644 index 0000000..a9553a9 --- /dev/null +++ b/scripts/wave/wave.yy @@ -0,0 +1,12 @@ +{ + "isDnD": false, + "isCompatibility": false, + "parent": { + "name": "Scripts", + "path": "folders/DEMO/Scripts.yy", + }, + "resourceVersion": "1.0", + "name": "wave", + "tags": [], + "resourceType": "GMScript", +} \ No newline at end of file