├── .github └── FUNDING.yml ├── LICENSE ├── README.md ├── README_PT-BR.md ├── addon └── analog_controller.zip ├── addons └── analog_controller │ ├── analog.gd │ ├── analog.tres │ ├── analog_plugin.gd │ ├── big_circle.png.import │ ├── big_circle_DIRECTION_2.png.import │ ├── big_circle_DIRECTION_2_H.png │ ├── big_circle_DIRECTION_2_H.png.import │ ├── big_circle_DIRECTION_2_V.png │ ├── big_circle_DIRECTION_2_V.png.import │ ├── big_circle_DIRECTION_4.png │ ├── big_circle_DIRECTION_4.png.import │ ├── big_circle_DIRECTION_8.png │ ├── big_circle_DIRECTION_8.png.import │ ├── icon.png │ ├── icon.png.import │ ├── plugin.cfg │ ├── small_circle.png.import │ ├── small_circle_DIRECTION_2.png │ ├── small_circle_DIRECTION_2.png.import │ ├── small_circle_DIRECTION_4.png │ ├── small_circle_DIRECTION_4.png.import │ ├── small_circle_DIRECTION_8.png │ └── small_circle_DIRECTION_8.png.import └── exemplo └── 2d ├── .godot ├── .gdignore ├── editor │ ├── PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata-folding-01e683f895b1eaf70ebd92661a280ef5.cfg │ ├── analog.gd-folding-dd4c4cbbb10f3cb56286ef31f40ad438.cfg │ ├── bullet.tscn-editstate-6d8e6ff1e6f20a36e0402d27c623c86c.cfg │ ├── bullet.tscn-folding-6d8e6ff1e6f20a36e0402d27c623c86c.cfg │ ├── default_env.tres-folding-7cf3fd67ad9f55210191d77b582b8209.cfg │ ├── editor_layout.cfg │ ├── export-61ae540076bf66847358de1f3938f3e4-analog.res-folding-f05dc2e37e6f94ffb92482e95e41c642.cfg │ ├── export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn-folding-2aa4c368899ef82194db9ff60b0476c4.cfg │ ├── export-7cf3fd67ad9f55210191d77b582b8209-default_env.res-folding-6c10dca0eb4080daec576077f1d65933.cfg │ ├── export-8ce09c1d3a597fec7257673145bc706b-main2d.scn-folding-05c3c735f1d6e65de937054d7aa042c0.cfg │ ├── filesystem_cache8 │ ├── filesystem_update4 │ ├── main.gd-folding-03e539d133f764e63262ddfd0d659548.cfg │ ├── main2d.tscn-editstate-8ce09c1d3a597fec7257673145bc706b.cfg │ ├── main2d.tscn-folding-8ce09c1d3a597fec7257673145bc706b.cfg │ ├── project_metadata.cfg │ ├── recent_dirs │ └── script_editor_cache.cfg ├── exported │ └── 133200997 │ │ ├── export-61ae540076bf66847358de1f3938f3e4-analog.res │ │ ├── export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn │ │ ├── export-7cf3fd67ad9f55210191d77b582b8209-default_env.res │ │ ├── export-8ce09c1d3a597fec7257673145bc706b-main2d.scn │ │ └── file_cache ├── global_script_class_cache.cfg ├── imported │ ├── PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata │ ├── PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.md5 │ ├── big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex │ ├── big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.md5 │ ├── big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex │ ├── big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.md5 │ ├── big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex │ ├── big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.md5 │ ├── big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex │ ├── big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.md5 │ ├── down.png-82e14e70c7c0bc5ac622256885f52506.ctex │ ├── down.png-82e14e70c7c0bc5ac622256885f52506.md5 │ ├── down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.ctex │ ├── down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.md5 │ ├── down_left.png-68869911ad44311be7eaa8634b561e05.ctex │ ├── down_left.png-68869911ad44311be7eaa8634b561e05.md5 │ ├── down_left.png-d2fc8e38d9d4a243559509455f0e0831.ctex │ ├── down_left.png-d2fc8e38d9d4a243559509455f0e0831.md5 │ ├── down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.ctex │ ├── down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.md5 │ ├── down_right.png-fa4dd209feddcba0bd649c253803dfa2.ctex │ ├── down_right.png-fa4dd209feddcba0bd649c253803dfa2.md5 │ ├── icon.png-487276ed1e3a0c39cad0279d744ee560.ctex │ ├── icon.png-487276ed1e3a0c39cad0279d744ee560.md5 │ ├── icon.png-e304b08143be6f4fb1c52517782f5244.ctex │ ├── icon.png-e304b08143be6f4fb1c52517782f5244.md5 │ ├── left.png-160d950386e348d9f943649c57605c41.ctex │ ├── left.png-160d950386e348d9f943649c57605c41.md5 │ ├── left.png-4bf3735cfda380547d0c54f4650997f7.ctex │ ├── left.png-4bf3735cfda380547d0c54f4650997f7.md5 │ ├── particles.png-0964d1b853d1adedd72657848e4d5083.ctex │ ├── particles.png-0964d1b853d1adedd72657848e4d5083.md5 │ ├── plane1.png-8c4be539cf08cc70cebb40081a574a2e.ctex │ ├── plane1.png-8c4be539cf08cc70cebb40081a574a2e.md5 │ ├── point_off.png-0687a517f851ccab04574a184805fa2b.ctex │ ├── point_off.png-0687a517f851ccab04574a184805fa2b.md5 │ ├── point_on.png-877310b57926dde9104ba57b4fc94a3f.ctex │ ├── point_on.png-877310b57926dde9104ba57b4fc94a3f.md5 │ ├── rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.ctex │ ├── rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.md5 │ ├── right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.ctex │ ├── right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.md5 │ ├── right.png-d67f91443e862ceeda52ccf34f9d5528.ctex │ ├── right.png-d67f91443e862ceeda52ccf34f9d5528.md5 │ ├── small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex │ ├── small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.md5 │ ├── small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex │ ├── small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.md5 │ ├── small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex │ ├── small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.md5 │ ├── up.png-28601a093be6478fb77799bf0ffc488f.ctex │ ├── up.png-28601a093be6478fb77799bf0ffc488f.md5 │ ├── up.png-2d58139e4a6e5bdfa96507e89eb73636.ctex │ ├── up.png-2d58139e4a6e5bdfa96507e89eb73636.md5 │ ├── up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.ctex │ ├── up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.md5 │ ├── up_left.png-8cd1de246f36043600664abb03cf3ed9.ctex │ ├── up_left.png-8cd1de246f36043600664abb03cf3ed9.md5 │ ├── up_right.png-af655d0321cf51ee63d1edf76b46c3fc.ctex │ ├── up_right.png-af655d0321cf51ee63d1edf76b46c3fc.md5 │ ├── up_right.png-ca1057a947230b427ffa498740226324.ctex │ └── up_right.png-ca1057a947230b427ffa498740226324.md5 ├── shader_cache │ ├── BlitShaderRD │ │ └── 983ec7413f16f1938c6a2dd9f5a2a1e0caf6f604b0503eb07f372613b4899ac4 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── BokehDofShaderRD │ │ └── 22c29b0827bcdf10d7077cd73c562ebf2cb914f3585da3e020ada05828d61d43 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CanvasOcclusionShaderRD │ │ └── 62460b6f262681d1eb5510be6595a569d77ba881ced2939ffb26e4a9e457acd4 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CanvasSdfShaderRD │ │ └── 7d0d717fe33cb510c861719fe942551c47b82864a5078198db3a5555546e5658 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CanvasShaderRD │ │ └── 09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab │ │ │ ├── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ │ ├── 6c94b25d75b1ec58f806edc8e65c2a35743ad557.cache │ │ │ ├── 86b4b6d51b4a45af6d7a93cd8ccd2af80a156da9.cache │ │ │ ├── 98676c93f49a619be763bf730c8db104e1e3ad96.cache │ │ │ ├── 9d0533530a382e64370fc542a58d7fdac6c773bd.cache │ │ │ ├── a444689c2f13418983bd978ab522bd863aed69c5.cache │ │ │ ├── cfbe819c6b55623a3cfeaf8d0ab83aeaa2d48269.cache │ │ │ └── eaf44e18cd01e1dcdf84a400c6fbe82c311d34e7.cache │ ├── ClusterDebugShaderRD │ │ └── da87fc424090e2222aa074ec9ff0968cb2ad15a88ad2a0172845f1fff79b7c0e │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ClusterRenderShaderRD │ │ └── 442183d45596e9365c13bcb9523b681200605edd1a02954f203a4ab58e21267f │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ClusterStoreShaderRD │ │ └── 58c2b90c04f2f7489717dbd03221062e2d150b22ed0abc3bf136ecc5b713b402 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CopyShaderRD │ │ └── 86cd9ebbdf3044c8a74e95a1c4a1c1ea5cac5db23161f838baa2faaae4601c58 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CopyToFbShaderRD │ │ └── 03a2b65c6d86aad7317b696e3880635b42ce3f7bf438951e46edde5e2efa8342 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CubeToDpShaderRD │ │ └── 1489d45197bbca90b65d5fb9332ce85592bb744afba20e3ba3d87e8ac8f70e79 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CubemapDownsamplerShaderRD │ │ └── 86095e8ee0e9c62cfa1bd1cdfb743af070a4c80e41e83c102354e425501ec7f0 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CubemapFilterShaderRD │ │ └── b8fd4d446870af410944bd52b07b7c46b7b8b8fa682bd0adbfee99897d1b079a │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── CubemapRoughnessShaderRD │ │ └── 888250e25c9068f24090d81e6f9c8af359d2980b60f1782318b1fac6e0a04e93 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── FsrUpscaleShaderRD │ │ └── 7b77b192c7eabf3d47bd042c73bbee43d0f804cea380e18f7b4e10003b3d26bd │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── GiShaderRD │ │ └── 47e86a9cbcb22f7cc0dd8321c020a96cabc50ecb73818f7aa5a1f188c77e1a13 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── LuminanceReduceShaderRD │ │ └── cb6ddef2389765229312fed94c6ba913878347f98fd39f4503edf2007014740d │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ParticlesCopyShaderRD │ │ └── 0b6db5d50b4b89cb76356b4655b42789e143651e42ae6c23ed25273cbbb439a1 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ParticlesShaderRD │ │ └── 80e0a75d99cdff16483fb83313ac87be47e5895dae8a0a597d79a5f51604cbb0 │ │ │ └── f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache │ ├── ResolveShaderRD │ │ └── d7e5470a1b12e5f467e70efc1bfcfae68472e8eb7b52a558f0fb1624c9fbce31 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── RoughnessLimiterShaderRD │ │ └── 50f41f053b119530b58378450b0736dba3820c2c0390bbe4c762889bae2865ab │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SceneForwardClusteredShaderRD │ │ └── 10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8 │ │ │ ├── 118ba36f6ebd3257d0e24fef9b5c1f403c461a66.cache │ │ │ ├── 1344ce3d77ef72d56eef3c9cd0d5417bdd0a4b13.cache │ │ │ ├── 3c2004ff2f4cb10be32eecce3aef58999f3a3c00.cache │ │ │ ├── 3d0d92e506ebed59ea8f1359f384dea3a9c607db.cache │ │ │ ├── 56b5925a2b0572c2ded75f0fcb579c223484ca13.cache │ │ │ ├── 5e1ddc0dfdfa4a0280e0bd9cfc3279252e3c7973.cache │ │ │ ├── 7e6f09e567701e5ed403065b0ec9125225432ba4.cache │ │ │ ├── 84f3bfa29ba52d036ccb227b544f4212261b97e7.cache │ │ │ ├── 8c405797d04cff2252b29dc660af5eda3a9bef6a.cache │ │ │ ├── 8d29d1fcc64ce2d8b7ed49c901c65a91146fbb76.cache │ │ │ ├── 90d1f2dc8493a4c954ba463e0fb3e0232f84d84d.cache │ │ │ ├── 9909cf38417b9edb6e5a64b31241317810757356.cache │ │ │ ├── 9bac24b6b27ed3d77e750d66523fc854f8d3e4d8.cache │ │ │ ├── 9daebd2e9a93be48c2f780ac379da9f156a37fc1.cache │ │ │ ├── d5380b6ac7ee6d22bc98457496eb4495a49b1c6f.cache │ │ │ └── f56c506d48f920a47e552ed6cf6059536156a939.cache │ ├── ScreenSpaceReflectionFilterShaderRD │ │ └── ed9e1b2b8a4e4b231c4062d6d221c55a24d60057dba45c5e6e3f0f50736d3840 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ScreenSpaceReflectionScaleShaderRD │ │ └── 96e215e75b1a2f087da8d952ea6eff8a2011f80623664548b1cc1959f67e4782 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── ScreenSpaceReflectionShaderRD │ │ └── 3a01e3ec5e743d6d497d6fb1aeca6d61ff3496e2d8509cd07c2a325d03675d68 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SdfgiDebugProbesShaderRD │ │ └── 8be0e8c0351238eb760202d0115c2351195bd604a8b60e0af5f62151559b00d9 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SdfgiDebugShaderRD │ │ └── 28fa27ac7654f48fb84a9ef3faa86dec0b673d8ec6d7fd16ca627a74e58a34d7 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SdfgiDirectLightShaderRD │ │ └── e871a27b8b1f4716ea7d4eec66617e3ad1f2bb2b083208a5aa6ff26c3d228211 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SdfgiIntegrateShaderRD │ │ └── 87a1f76c60003ca7e43b19337fc0c76d7729a7f59e9324c4abc3db730efdf631 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SdfgiPreprocessShaderRD │ │ └── d9a2176b5aaf1bada6435a755b595e4b9e3b97391506c6a52f7d039a94145df2 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SkeletonShaderRD │ │ └── 34bc7dd0d2d73677a209eb39efedaf87249f983b1224f56a395bb3d233d3284e │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SkyShaderRD │ │ └── aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397 │ │ │ ├── 03e3b11c69e24394b2d955a8c0ba85587bb70839.cache │ │ │ ├── 59fe6cf05bf4a13d34c144643274612aacecb959.cache │ │ │ ├── 793ce7e11b582451627017df13679d8dac889488.cache │ │ │ ├── 95e55bdcfff59c30143e80c9cabfe2f175ddb660.cache │ │ │ ├── de678811d1bad3cad4892a8db7b6ea0be197d51d.cache │ │ │ └── f01de7cfc190c5a681916d623818c76cd220b8f4.cache │ ├── SortShaderRD │ │ └── d268129d5dc91afd22c48522607135db27cbebca10061158c2f9847776b8d712 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SpecularMergeShaderRD │ │ └── e890316bb1e0e4507aebf4ba2d016038928d484e96abc2b9144618cc2b00097d │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsEffectsDownsampleShaderRD │ │ └── fede984b5457acee2b330b10803281c3f848d0a3b1a8aeb5b02e6701bbf97f09 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsaoBlurShaderRD │ │ └── 3fbdaf0cf9aa78d0a808d15028d88c3b648e306ed0c59172c0e163137dae9140 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsaoImportanceMapShaderRD │ │ └── 36a1ff540d1357f99ea4db79ae38e9a2be28ae24598fd2f202a2f25aa0b9cc0a │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsaoInterleaveShaderRD │ │ └── 86f8c1cdb51e59fab94d56aa17487d6f6b7afe7f2162122241d983a847fbaa0c │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsaoShaderRD │ │ └── fcea2c082c4b46a99752551ec41d39a4f9a233cc2c4546e6f5f687c29f2773ec │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsilBlurShaderRD │ │ └── ef320f8ba48890db75afd1ce17706a1835d1b4483b92d63d722c63185a198d1c │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsilImportanceMapShaderRD │ │ └── 2d02a98f3c59cd4ea2066d9543dd6e1fc85749ea2fc1d161c1d74321b0988413 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsilInterleaveShaderRD │ │ └── f20239cfae6f3f34fb05970f1686dc9c1edc076df4f624bb336dd76e78cb1484 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SsilShaderRD │ │ └── 652774bacf6ab9e70ffdf0c58964841488df2a3d9d3504e3d2846564df12d425 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── SubsurfaceScatteringShaderRD │ │ └── 6382a5f9d9672b1a07a59dcdd8aa06731e5170ca947a06af19f6352c92e3b207 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── TaaResolveShaderRD │ │ └── 7e598df7d1a003e5836e1639a0b833cfccd9cd11a446e0a70768c1c8c4d7d1e0 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── TonemapShaderRD │ │ └── 1308ccde1bc769cdfc2bf2bb99027a4205f94c2fb75907103d720ae6b1537af8 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── VolumetricFogProcessShaderRD │ │ └── feecc13b600023b4a9ffc54b3a0195755435b6ca67a3aa5bdab122b077957c69 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ ├── VolumetricFogShaderRD │ │ └── 8f72a98daf831361bf9e3dbd9fffcbd47531dda2415011b582f1ae4097399f9a │ │ │ └── 9a227745af2d65830f930370a9fbba551fbd6f60.cache │ ├── VoxelGiDebugShaderRD │ │ └── 7edfe4dfe9bb48bde9ef3a638cac01ff51559d4da17fc5487500c754dba3b700 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ └── VoxelGiShaderRD │ │ └── fadfd4245b673985a6474b077a34e593af9f9a6102922225709d9a8d040f6a65 │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache └── uid_cache.bin ├── addons └── analog_controller │ ├── analog.gd │ ├── analog.tres │ ├── analog_plugin.gd │ ├── big_circle.png.import │ ├── big_circle_DIRECTION_2.png.import │ ├── big_circle_DIRECTION_2_H.png │ ├── big_circle_DIRECTION_2_H.png.import │ ├── big_circle_DIRECTION_2_V.png │ ├── big_circle_DIRECTION_2_V.png.import │ ├── big_circle_DIRECTION_4.png │ ├── big_circle_DIRECTION_4.png.import │ ├── big_circle_DIRECTION_8.png │ ├── big_circle_DIRECTION_8.png.import │ ├── icon.png │ ├── icon.png.import │ ├── plugin.cfg │ ├── small_circle.png.import │ ├── small_circle_DIRECTION_2.png │ ├── small_circle_DIRECTION_2.png.import │ ├── small_circle_DIRECTION_4.png │ ├── small_circle_DIRECTION_4.png.import │ ├── small_circle_DIRECTION_8.png │ └── small_circle_DIRECTION_8.png.import ├── assets ├── font │ ├── PoetsenOne-Regular.ttf │ └── PoetsenOne-Regular.ttf.import ├── particles.png ├── particles.png.import ├── persons │ └── spark │ │ ├── idle │ │ ├── down.png │ │ ├── down.png.import │ │ ├── down_left.png │ │ ├── down_left.png.import │ │ ├── down_right.png │ │ ├── down_right.png.import │ │ ├── left.png │ │ ├── left.png.import │ │ ├── right.png │ │ ├── right.png.import │ │ ├── up.png │ │ ├── up.png.import │ │ ├── up_left.png │ │ ├── up_left.png.import │ │ ├── up_right.png │ │ └── up_right.png.import │ │ └── walk │ │ ├── down.png │ │ ├── down.png.import │ │ ├── down_left.png │ │ ├── down_left.png.import │ │ ├── down_right.png │ │ ├── down_right.png.import │ │ ├── left.png │ │ ├── left.png.import │ │ ├── right.png │ │ ├── right.png.import │ │ ├── up.png │ │ ├── up.png.import │ │ ├── up_left.png │ │ ├── up_left.png.import │ │ ├── up_right.png │ │ └── up_right.png.import ├── plane1.png ├── plane1.png.import ├── plane1.png~ ├── point_off.png ├── point_off.png.import ├── point_off.png~ ├── point_on.png ├── point_on.png.import ├── point_on.png~ ├── rect.png └── rect.png.import ├── default_env.tres ├── export_presets.cfg ├── icon.png ├── icon.png.import ├── project.godot ├── scenes ├── bullet.tscn └── main2d.tscn └── scripts ├── bullet.gd └── main.gd /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: thiagobruno 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: ['https://picpay.me/thiagobrun0'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 thiagobruno 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Godot - Analog Controller 2 | 3 | - Developed for Godot 4 4 | - [Click here to get the version compatible to Godot 3](https://github.com/thiagobruno/godot_analogcontroller/releases/tag/GodotV3) 5 | - [Documentação em Português](README_PT-BR.md) 6 | 7 | A virtual analog control for the directions: 8 | - 360º (Vector2), 9 | - 2_H (Horizontal), 10 | - 2_V (Vertical), 11 | - 4 (left, right, up, down) 12 | - 8 (left["up, down"], right["up, down"], up, down) 13 | 14 | ---------- 15 | 16 | ### Demonstration (PT-BR) 17 | - https://www.youtube.com/watch?v=plHDdyC_suc 18 | 19 | [![Video with explanation in Portuguese](https://img.youtube.com/vi/plHDdyC_suc/0.jpg)](https://www.youtube.com/watch?v=plHDdyC_suc) 20 | 21 | ---------- 22 | 23 | ##### Example 24 | In the example project, I show two examples of how to use a player with movements in Vector2, and with movements in predefined directions (alias). 25 | 26 | ---------- 27 | 28 | ##### Configure the Addon 29 | - Download the file [addon/analog.zip](addon/analog_controller.zip) 30 | - Place in your project's "addon" folder 31 | - Access the Project Settings > Plugin and enable the "AnalogController" plugin 32 | 33 | ---------- 34 | 35 | ##### Signals 36 | 37 | The AnalogController emits three signals! 38 | 39 | - analogChange(force, pos) 40 | - analogPressed 41 | - analogRelease 42 | 43 | ---------- 44 | 45 | To 360º type, the signal ```analogChange(force, pos)``` the "force" parameter is a value (float) returned from "0.0 to 1.0" 46 | 47 | ---------- 48 | 49 | To 2,4 e 8 (alias directions) force returns a normalized Vector2() with the calculated analog strength! 50 | And in the "pos" parameter, the position alias is returned ... "right, left, etc ..." 51 | 52 | ---------- 53 | 54 | ##### Node Settings 55 | 56 | 57 | - ```(boolean) isDynamicallyShowing``` = The analog controller must appear dynamically, or fixed on the screen 58 | - ```(typesAnalog) typeAnalogic``` = DIRECTION_2_H, DIRECTION_2_V, DIRECTION_4, DIRECTION_8, DIRECTION_360 59 | - ```(float,0.00,1.0) var smoothClick``` = Time for the control to appear when clicking on the analog stick 60 | - ```(float,0.00,1.0) var smoothRelease``` = Time for the control to be hidden when releasing the analog 61 | - ```(Texture) var bigBallTexture``` = You can upload a texture of your choice to the larger ball (base) of the analog 62 | - ```(Texture) var smallBallTexture``` = You can load a texture of your choice for the smaller analog ball 63 | - ```(Dictionary) directionsResult``` = Here you can define the nicknames you want to return in each direction except for the 360º type 64 | 65 | ---------- 66 | 67 | ### ... 68 | Will you use this code commercially? Rest assured you can use it freely and without having to mention anything, of course I will be happy if you at least remember the help and share it with friends, lol. If you feel at heart, consider buying me a coffee :heart: -> https://ko-fi.com/thsbruno 69 | 70 | -------------------------------------------------------------------------------- /README_PT-BR.md: -------------------------------------------------------------------------------- 1 | # Godot - Analog Controller (Controle Analógico) 2 | 3 | - Desenvolvido para a Godot 4 4 | - [Clique aqui para obter a versão compatível com Godot 3](https://github.com/thiagobruno/godot_analogcontroller/releases/tag/GodotV3) 5 | - [English documentation](README.md) 6 | 7 | Um controle analógico virtual para as seguintes direções: 8 | - 360º (Vector2), 9 | - 2_H (Horizontal), 10 | - 2_V (Vertical), 11 | - 4 (esquerda, direita, cima, baixo) 12 | - 8 (esquerda["cima, baixo"], direita["cima, baixo"], cima, baixo) 13 | 14 | ---------- 15 | 16 | ### Demonstração (PT-BR) 17 | - https://www.youtube.com/watch?v=plHDdyC_suc 18 | 19 | [![Video com a explicação](https://img.youtube.com/vi/plHDdyC_suc/0.jpg)](https://www.youtube.com/watch?v=plHDdyC_suc) 20 | 21 | ---------- 22 | 23 | ##### Exemplo 24 | No projeto exemplo, mostro dois exemplos de como utilizar em um player com movimentos em Vetor2, e com movimentos em direções pré-definidas (alias). 25 | 26 | ---------- 27 | 28 | ##### Configurar o Addon 29 | - Faça download do arquivo [addon/analog.zip](addon/analog_controller.zip) 30 | - Coloque na pasta "addon" do seu projeto 31 | - Acesse as Configurações do Projeto > Plugin e habilite o plugin "AnalogController" 32 | 33 | ---------- 34 | 35 | ##### Sinais 36 | 37 | O AnalogController emite três sinais! 38 | 39 | - analogChange(force, pos) 40 | - analogPressed 41 | - analogRelease 42 | 43 | Para o sinal ```analogChange(force, pos)``` o parâmetro "force" é um valor(float) retornado de "0.0 à 1.0" para o tipo 360º 44 | 45 | *Para 2,4 e 8 (direções em alias) o force retorna um Vector2 normalizado() já com a força do analógico calculada! 46 | E no parâmetro "pos" é retornado a alias da posição... "direita, esquerda, etc..." 47 | 48 | ---------- 49 | 50 | ##### Configurações do Node 51 | 52 | 53 | - ```(boolean) isDynamicallyShowing``` = O controle analógico deve aparecer dinamicamente, ou fixo na tela 54 | - ```(typesAnalog) typeAnalogic``` = DIRECTION_2_H, DIRECTION_2_V, DIRECTION_4, DIRECTION_8, DIRECTION_360 55 | - ```(float,0.00,1.0) var smoothClick``` = Tempo para o controle aparecer ao clicar no analógico 56 | - ```(float,0.00,1.0) var smoothRelease``` = Tempo para o controle ficar oculto ao soltar o analógico 57 | - ```(Texture) var bigBallTexture``` = Você pode carregar uma textura de sua preferência para a bolinha maior (base) do analógico 58 | - ```(Texture) var smallBallTexture``` = Você pode carregar uma textura de sua preferência para a bolinha menor do analógico 59 | - ```(Dictionary) directionsResult``` = Aqui você pode definir os apelidos que você quer que retorne em cada direção exceto 360º 60 | 61 | ---------- 62 | 63 | ### ... 64 | Vai utilizar esse código de forma comercial? Fique tranquilo pode usar de forma livre e sem precisar mencionar nada, claro que vou ficar contente se pelo menos lembrar da ajuda e compartilhar com os amigos, rs. Caso sinta no coração, considere me pagar um cafezinho :heart: -> https://ko-fi.com/thsbruno 65 | 66 | -------------------------------------------------------------------------------- /addon/analog_controller.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addon/analog_controller.zip -------------------------------------------------------------------------------- /addons/analog_controller/analog.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | enum typesAnalog { DIRECTION_2_H, DIRECTION_2_V, DIRECTION_4, DIRECTION_8, DIRECTION_360 } 4 | 5 | @onready var ball = Sprite2D.new() 6 | @onready var ballAnalogicoBall = Sprite2D.new() 7 | @onready var bg = Sprite2D.new() 8 | @onready var bgAnalogicoBase = Sprite2D.new() 9 | 10 | const INACTIVE = -1 11 | 12 | var initialized = false 13 | var initial_position = Vector2.ZERO 14 | var local_paused = false 15 | var isDragging = false 16 | var directions = ["right", "down_right", "down", "down_left", "left", "up_left", "up", "up_right"] 17 | var parent 18 | var listenerNode 19 | var released = false 20 | var currentForce2:float = 0.0 21 | var centerPoint = Vector2(0,0) 22 | var currentForce = Vector2(0,0) 23 | var halfSize = Vector2() 24 | var ballPos = Vector2() 25 | var squaredHalfSizeLenght = 0 26 | var currentPointerIDX = INACTIVE 27 | 28 | @export var isDynamicallyShowing:bool = false 29 | @export var typeAnalogic: typesAnalog = typesAnalog.DIRECTION_8 30 | @export_range(0.00,1.00) var smoothClick = 0.02 31 | @export_range(0.00,1.00) var smoothRelease = 0.02 32 | @export var scaleBall: Vector2 = Vector2(1,1) 33 | @export var bigBallTexture: Texture2D = preload("big_circle_DIRECTION_8.png") 34 | @export var smallBallTexture: Texture2D = preload("small_circle_DIRECTION_8.png") 35 | @export var directionsResult: Dictionary = { 36 | "right":"right", 37 | "down_right":"down_right", 38 | "down":"down", 39 | "down_left":"down_left", 40 | "left":"left", 41 | "up_left":"up_left", 42 | "up":"up", 43 | "up_right":"up_right" 44 | } 45 | 46 | signal analogChange(force, pos) 47 | signal analogPressed 48 | signal analogRelease 49 | 50 | func _ready() -> void: 51 | initial_position = global_position 52 | _configAnalog() 53 | initialized = true 54 | scale = Vector2(1,1) 55 | 56 | func _configAnalog(): 57 | set_process_input(true) 58 | 59 | if !initialized: 60 | add_child(bg) 61 | bg.add_child(bgAnalogicoBase) 62 | bg.scale = scaleBall 63 | bg.texture = bigBallTexture 64 | 65 | add_child(ball) 66 | ball.add_child(ballAnalogicoBall) 67 | ball.scale = scaleBall 68 | ball.texture = smallBallTexture 69 | 70 | parent = get_parent(); 71 | 72 | halfSize = bg.texture.get_size()/2; 73 | squaredHalfSizeLenght = halfSize.x*halfSize.y; 74 | 75 | if isDynamicallyShowing: 76 | modulate.a = 0 77 | else: 78 | await get_tree().create_timer(.2).timeout 79 | position = initial_position 80 | modulate.a = 1 81 | show() 82 | 83 | func _convertType(pos): 84 | if local_paused:return 85 | var angle = Vector2(pos.x, -pos.y).angle() + .5 86 | if angle < 0: 87 | angle += 2 * PI 88 | var index = round(angle / PI * 4) 89 | var animation = directions[index-1] 90 | return animation 91 | 92 | func get_force(): 93 | if local_paused:return 94 | return currentForce 95 | 96 | func _input(event): 97 | if local_paused:return 98 | 99 | var incomingPointer = extractPointerIdx(event) 100 | if incomingPointer == INACTIVE: 101 | return 102 | 103 | if need2ChangeActivePointer(event): 104 | if !isDragging: return 105 | if (currentPointerIDX != incomingPointer) and event.is_pressed(): 106 | currentPointerIDX = incomingPointer; 107 | if event is InputEventMouseMotion or event is InputEventMouseButton: 108 | showAtPos(event.position) 109 | 110 | var theSamePointer = currentPointerIDX == incomingPointer 111 | if isActive() and theSamePointer: 112 | process_input(event) 113 | 114 | func need2ChangeActivePointer(event): 115 | if local_paused:return 116 | var mouseButton = event is InputEventMouseButton 117 | var touch = event is InputEventScreenTouch 118 | 119 | if event is InputEventMouseMotion or event is InputEventMouseButton: 120 | var mouse_event_pos = event.position 121 | if mouseButton or touch: 122 | isDragging = true 123 | if isDynamicallyShowing: 124 | return mouse_event_pos 125 | else: 126 | var lenght = (get_global_position() - Vector2(mouse_event_pos.x, mouse_event_pos.y)).length_squared(); 127 | return lenght < squaredHalfSizeLenght 128 | else: 129 | return false 130 | else: 131 | return false 132 | 133 | func isActive() -> bool: 134 | if local_paused:return false 135 | return currentPointerIDX != INACTIVE 136 | 137 | func extractPointerIdx(event): 138 | if local_paused:return 139 | var touch = event is InputEventScreenTouch 140 | var drag = event is InputEventScreenDrag 141 | var mouseButton = event is InputEventMouseButton 142 | var mouseMove = event is InputEventMouseMotion 143 | 144 | if touch or drag: 145 | return event.index 146 | elif mouseButton or mouseMove: 147 | return 0 148 | else: 149 | return INACTIVE 150 | 151 | func process_input(event): 152 | if local_paused:return 153 | var mouseButton = event is InputEventMouseButton 154 | var mouseMove = event is InputEventMouseMotion 155 | 156 | if mouseMove or mouseButton: 157 | calculateForce(event.position.x - self.get_global_position().x, event.position.y - self.get_global_position().y) 158 | updateBallPos() 159 | 160 | var isReleased = isReleased(event) 161 | if isReleased: 162 | reset() 163 | else: 164 | emit_signal("analogPressed") 165 | show() 166 | 167 | var _force = 0 168 | var _pos = Vector2.ZERO 169 | if typeAnalogic == typesAnalog.DIRECTION_360: 170 | _force = currentForce2 171 | _pos = currentForce.normalized() * Vector2(1, -1) 172 | 173 | emit_signal("analogChange", _force, _pos) 174 | return 175 | 176 | elif typeAnalogic == typesAnalog.DIRECTION_2_H: 177 | 178 | _force = currentForce2 179 | var converted = _convertType(currentForce) 180 | _pos = directionsResult[converted] 181 | 182 | match _pos: 183 | "right": _force = Vector2(1, 0) * _force 184 | "left": _force = Vector2(-1, 0) * _force 185 | 186 | _: _force = Vector2.ZERO 187 | 188 | if _force is Vector2: 189 | _force = _force.normalized() 190 | 191 | emit_signal("analogChange", _force * currentForce2, _pos) 192 | 193 | elif typeAnalogic == typesAnalog.DIRECTION_2_V: 194 | 195 | _force = currentForce2 196 | var converted = _convertType(currentForce) 197 | _pos = directionsResult[converted] 198 | 199 | match _pos: 200 | "up": _force = Vector2(0, -1) * _force 201 | "down": _force = Vector2(0, 1) * _force 202 | _: _force = Vector2.ZERO 203 | 204 | if _force is Vector2: 205 | _force = _force.normalized() 206 | 207 | emit_signal("analogChange", _force * currentForce2, _pos) 208 | 209 | 210 | elif typeAnalogic == typesAnalog.DIRECTION_4: 211 | 212 | _force = currentForce2 213 | var converted = _convertType(currentForce) 214 | _pos = directionsResult[converted] 215 | 216 | match _pos: 217 | "right": _force = Vector2(1, 0) * _force 218 | "left": _force = Vector2(-1, 0) * _force 219 | "up": _force = Vector2(0, -1) * _force 220 | "down": _force = Vector2(0, 1) * _force 221 | _: _force = Vector2.ZERO 222 | 223 | if _force is Vector2: 224 | _force = _force.normalized() 225 | 226 | emit_signal("analogChange", _force * currentForce2, _pos) 227 | 228 | 229 | elif typeAnalogic == typesAnalog.DIRECTION_8: 230 | 231 | _force = currentForce2 232 | var converted = _convertType(currentForce) 233 | _pos = directionsResult[converted] 234 | 235 | match _pos: 236 | "right": _force = Vector2(1, 0) * _force 237 | "down_right": _force = Vector2(1, 1) * _force 238 | "up_right": _force = Vector2(1, -1) * _force 239 | "left": _force = Vector2(-1, 0) * _force 240 | "down_left": _force = Vector2(-1, 1) * _force 241 | "up_left": _force = Vector2(-1, -1) * _force 242 | "up": _force = Vector2(0, -1) * _force 243 | "down": _force = Vector2(0, 1) * _force 244 | _: _force = Vector2.ZERO 245 | 246 | if _force is Vector2: 247 | _force = _force.normalized() 248 | 249 | emit_signal("analogChange", _force * currentForce2, _pos) 250 | 251 | func reset() -> void: 252 | emit_signal("analogRelease") 253 | currentPointerIDX = INACTIVE 254 | calculateForce(0, 0) 255 | 256 | updateBallPos() 257 | if isDynamicallyShowing: 258 | hide() 259 | #else: 260 | 261 | 262 | func showAtPos(pos) -> void: 263 | if local_paused: return 264 | if !isDynamicallyShowing: return 265 | 266 | self.set_global_position(pos) 267 | while self.modulate.a < 1.0 and isActive(): 268 | await get_tree().create_timer(smoothClick).timeout 269 | self.modulate.a += .1 270 | 271 | if !isActive(): 272 | self.modulate.a = 0 273 | 274 | func hide() -> void: 275 | if isDynamicallyShowing: return 276 | while self.modulate.a > 0.0 and !isActive(): 277 | await get_tree().create_timer(smoothRelease).timeout 278 | self.modulate.a -= .1 279 | 280 | emit_signal("analogRelease") 281 | 282 | func show() -> void: 283 | while self.modulate.a < 1.0 and !isActive(): 284 | await get_tree().create_timer(smoothRelease).timeout 285 | self.modulate.a += .1 286 | 287 | emit_signal("analogRelease") 288 | 289 | func updateBallPos() -> void: 290 | if local_paused:return 291 | 292 | if typeAnalogic != typesAnalog.DIRECTION_2_V: 293 | ballPos.x = halfSize.x * currentForce.x 294 | 295 | if typeAnalogic != typesAnalog.DIRECTION_2_H: 296 | ballPos.y = halfSize.y * -currentForce.y 297 | 298 | ballPos *= scaleBall 299 | ball.position = ballPos 300 | 301 | var bigBallSize = (bg.texture.get_size().x / 2) * scaleBall.x 302 | currentForce2 = (centerPoint.distance_to(ballPos) * 100.0 / bigBallSize) / 100.0 303 | currentForce2 = snappedf(currentForce2, .001) 304 | currentForce2 = clamp(currentForce2, -1.0, 1.0) 305 | 306 | 307 | func calculateForce(x, y) -> void: 308 | if local_paused:return 309 | if typeAnalogic != typesAnalog.DIRECTION_2_V: 310 | currentForce.x = (x - centerPoint.x)/halfSize.x 311 | 312 | if typeAnalogic != typesAnalog.DIRECTION_2_H: 313 | currentForce.y = -(y - centerPoint.y)/halfSize.y 314 | 315 | if currentForce.length_squared()>1: 316 | currentForce=currentForce/currentForce.length() 317 | 318 | func isPressed(event): 319 | if local_paused:return 320 | if event is InputEventMouseMotion: 321 | return (event.button_mask==1) 322 | elif event is InputEventScreenTouch: 323 | isDragging = true 324 | return event.pressed 325 | 326 | func isReleased(event): 327 | if event is InputEventScreenTouch: 328 | return !event.pressed 329 | elif event is InputEventMouseButton: 330 | return !event.pressed 331 | 332 | func pause() -> void: 333 | local_paused = true 334 | hide() 335 | 336 | func unpause() -> void: 337 | local_paused = false 338 | if isDynamicallyShowing: return 339 | reset() 340 | show() 341 | -------------------------------------------------------------------------------- /addons/analog_controller/analog.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Animation" format=2] 2 | 3 | [resource] 4 | resource_name = "alpha_in" 5 | length = 0.5 6 | tracks/0/type = "value" 7 | tracks/0/path = NodePath(".:modulate") 8 | tracks/0/interp = 1 9 | tracks/0/loop_wrap = true 10 | tracks/0/imported = false 11 | tracks/0/enabled = true 12 | tracks/0/keys = { 13 | "times": PackedFloat32Array( 0, 0.4 ), 14 | "transitions": PackedFloat32Array( 1, 1 ), 15 | "update": 0, 16 | "values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] 17 | } 18 | -------------------------------------------------------------------------------- /addons/analog_controller/analog_plugin.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends EditorPlugin 3 | 4 | func _enter_tree(): 5 | add_custom_type("AnalogController", "Node2D", preload("analog.gd"), preload("icon.png")) 6 | 7 | func _exit_tree(): 8 | remove_custom_type("AnalogController") 9 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/big_circle.png-8e1df57959b3fe614146ea3064fe81e4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/big_circle.png" 13 | dest_files=[ "res://.import/big_circle.png-8e1df57959b3fe614146ea3064fe81e4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/big_circle_DIRECTION_2.png-fd72c64ba7d0946b7c6448d0da6f9fbe.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2.png" 13 | dest_files=[ "res://.import/big_circle_DIRECTION_2.png-fd72c64ba7d0946b7c6448d0da6f9fbe.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_2_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/big_circle_DIRECTION_2_H.png -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_2_H.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://n53u245ak7l4" 6 | path="res://.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2_H.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_2_V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/big_circle_DIRECTION_2_V.png -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_2_V.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://csd4ch6nc8nnf" 6 | path="res://.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2_V.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/big_circle_DIRECTION_4.png -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_4.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bvpylst0i432k" 6 | path="res://.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_4.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/big_circle_DIRECTION_8.png -------------------------------------------------------------------------------- /addons/analog_controller/big_circle_DIRECTION_8.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cuo38yshmko70" 6 | path="res://.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_8.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/icon.png -------------------------------------------------------------------------------- /addons/analog_controller/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c6qxlj5iivhyg" 6 | path="res://.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/icon.png" 14 | dest_files=["res://.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | 3 | name="AnalogController" 4 | description="Analog Controller" 5 | author="Thiago Bruno" 6 | version="2.0" 7 | script="analog_plugin.gd" 8 | -------------------------------------------------------------------------------- /addons/analog_controller/small_circle.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/small_circle.png-6b3a0258d39e2f48a9d8212a99890295.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/small_circle.png" 13 | dest_files=[ "res://.import/small_circle.png-6b3a0258d39e2f48a9d8212a99890295.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/small_circle_DIRECTION_2.png -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://x42k722txpnv" 6 | path="res://.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_2.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/small_circle_DIRECTION_4.png -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_4.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ffdb5uu6edn3" 6 | path="res://.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_4.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/addons/analog_controller/small_circle_DIRECTION_8.png -------------------------------------------------------------------------------- /addons/analog_controller/small_circle_DIRECTION_8.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dq80skg1evtbb" 6 | path="res://.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_8.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/.gdignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata-folding-01e683f895b1eaf70ebd92661a280ef5.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/analog.gd-folding-dd4c4cbbb10f3cb56286ef31f40ad438.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/bullet.tscn-editstate-6d8e6ff1e6f20a36e0402d27c623c86c.cfg: -------------------------------------------------------------------------------- 1 | [editor_states] 2 | 3 | Anim={ 4 | "visible": false 5 | } 6 | 2D={ 7 | "grid_offset": Vector2(0, 0), 8 | "grid_snap_active": false, 9 | "grid_step": Vector2(8, 8), 10 | "grid_visibility": 1, 11 | "ofs": Vector2(-1867.13, -234.349), 12 | "primary_grid_steps": 8, 13 | "show_edit_locks": true, 14 | "show_guides": true, 15 | "show_helpers": false, 16 | "show_origin": true, 17 | "show_rulers": true, 18 | "show_transformation_gizmos": true, 19 | "show_viewport": true, 20 | "show_zoom_control": true, 21 | "smart_snap_active": false, 22 | "snap_guides": true, 23 | "snap_node_anchors": true, 24 | "snap_node_center": true, 25 | "snap_node_parent": true, 26 | "snap_node_sides": true, 27 | "snap_other_nodes": true, 28 | "snap_pixel": true, 29 | "snap_relative": false, 30 | "snap_rotation": false, 31 | "snap_rotation_offset": 0.0, 32 | "snap_rotation_step": 0.261799, 33 | "snap_scale": false, 34 | "snap_scale_step": 0.1, 35 | "zoom": 0.210224 36 | } 37 | 3D={ 38 | "fov": 70.01, 39 | "gizmos_status": { 40 | "AudioListener3D": 0, 41 | "AudioStreamPlayer3D": 0, 42 | "CPUParticles3D": 0, 43 | "CSGShape3D": 0, 44 | "Camera3D": 0, 45 | "CollisionObject3D": 0, 46 | "CollisionPolygon3D": 0, 47 | "CollisionShape3D": 0, 48 | "Decal": 0, 49 | "FogVolume": 0, 50 | "GPUParticles3D": 0, 51 | "GPUParticlesCollision3D": 0, 52 | "Joint3D": 0, 53 | "Light3D": 0, 54 | "LightmapGI": 0, 55 | "LightmapProbe": 0, 56 | "Marker3D": 0, 57 | "NavigationLink3D": 0, 58 | "NavigationRegion3D": 0, 59 | "OccluderInstance3D": 0, 60 | "Path3D": 0, 61 | "PhysicalBone3D": 0, 62 | "RayCast3D": 0, 63 | "ReflectionProbe": 0, 64 | "ShapeCast3D": 0, 65 | "Skeleton3D": 0, 66 | "SoftBody3D": 0, 67 | "SpringArm3D": 0, 68 | "VehicleWheel3D": 0, 69 | "VisibleOnScreenNotifier3D": 0, 70 | "VoxelGI": 0 71 | }, 72 | "local_coords": false, 73 | "preview_sun_env": { 74 | "environ_ao_enabled": false, 75 | "environ_enabled": true, 76 | "environ_energy": 1.0, 77 | "environ_gi_enabled": false, 78 | "environ_glow_enabled": true, 79 | "environ_ground_color": Color(0.2, 0.169, 0.133, 1), 80 | "environ_sky_color": Color(0.385, 0.454, 0.55, 1), 81 | "environ_tonemap_enabled": true, 82 | "sun_color": Color(1, 1, 1, 1), 83 | "sun_enabled": true, 84 | "sun_energy": 1.0, 85 | "sun_max_distance": 100.0, 86 | "sun_rotation": Vector2(-1.0472, 2.61799) 87 | }, 88 | "rotate_snap": 15.0, 89 | "scale_snap": 10.0, 90 | "show_grid": true, 91 | "show_origin": true, 92 | "snap_enabled": false, 93 | "translate_snap": 1.0, 94 | "viewport_mode": 1, 95 | "viewports": [{ 96 | "auto_orthogonal": false, 97 | "auto_orthogonal_enabled": true, 98 | "cinematic_preview": false, 99 | "display_mode": 20, 100 | "distance": 4.0, 101 | "doppler": false, 102 | "frame_time": false, 103 | "gizmos": true, 104 | "half_res": false, 105 | "information": false, 106 | "listener": true, 107 | "position": Vector3(0, 0, 0), 108 | "use_environment": false, 109 | "use_orthogonal": false, 110 | "view_type": 0, 111 | "x_rotation": 0.5, 112 | "y_rotation": -0.5 113 | }, { 114 | "auto_orthogonal": false, 115 | "auto_orthogonal_enabled": true, 116 | "cinematic_preview": false, 117 | "display_mode": 20, 118 | "distance": 4.0, 119 | "doppler": false, 120 | "frame_time": false, 121 | "gizmos": true, 122 | "half_res": false, 123 | "information": false, 124 | "listener": false, 125 | "position": Vector3(0, 0, 0), 126 | "use_environment": false, 127 | "use_orthogonal": false, 128 | "view_type": 0, 129 | "x_rotation": 0.5, 130 | "y_rotation": -0.5 131 | }, { 132 | "auto_orthogonal": false, 133 | "auto_orthogonal_enabled": true, 134 | "cinematic_preview": false, 135 | "display_mode": 20, 136 | "distance": 4.0, 137 | "doppler": false, 138 | "frame_time": false, 139 | "gizmos": true, 140 | "half_res": false, 141 | "information": false, 142 | "listener": false, 143 | "position": Vector3(0, 0, 0), 144 | "use_environment": false, 145 | "use_orthogonal": false, 146 | "view_type": 0, 147 | "x_rotation": 0.5, 148 | "y_rotation": -0.5 149 | }, { 150 | "auto_orthogonal": false, 151 | "auto_orthogonal_enabled": true, 152 | "cinematic_preview": false, 153 | "display_mode": 20, 154 | "distance": 4.0, 155 | "doppler": false, 156 | "frame_time": false, 157 | "gizmos": true, 158 | "half_res": false, 159 | "information": false, 160 | "listener": false, 161 | "position": Vector3(0, 0, 0), 162 | "use_environment": false, 163 | "use_orthogonal": false, 164 | "view_type": 0, 165 | "x_rotation": 0.5, 166 | "y_rotation": -0.5 167 | }], 168 | "zfar": 4000.01, 169 | "znear": 0.05 170 | } 171 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/bullet.tscn-folding-6d8e6ff1e6f20a36e0402d27c623c86c.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("image"), PackedStringArray("Visibility", "Transform", "Offset"), NodePath("VisibleOnScreenNotifier2D"), PackedStringArray("Transform")] 4 | resource_unfolds=[] 5 | nodes_folded=[] 6 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/default_env.tres-folding-7cf3fd67ad9f55210191d77b582b8209.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/editor_layout.cfg: -------------------------------------------------------------------------------- 1 | [docks] 2 | 3 | dock_filesystem_split=0 4 | dock_filesystem_display_mode=0 5 | dock_filesystem_file_sort=0 6 | dock_filesystem_file_list_display_mode=1 7 | dock_split_2=0 8 | dock_split_3=0 9 | dock_hsplit_1=0 10 | dock_hsplit_2=202 11 | dock_hsplit_3=-202 12 | dock_hsplit_4=0 13 | dock_3="Scene,Import" 14 | dock_4="FileSystem" 15 | dock_5="Inspector,Node,History" 16 | 17 | [EditorNode] 18 | 19 | open_scenes=["res://scenes/main2d.tscn"] 20 | 21 | [ScriptEditor] 22 | 23 | open_scripts=["res://addons/analog_controller/analog.gd", "res://addons/analog_controller/analog_plugin.gd", "res://scripts/bullet.gd", "res://scripts/main.gd"] 24 | open_help=["Signal"] 25 | script_split_offset=52 26 | list_split_offset=0 27 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/export-61ae540076bf66847358de1f3938f3e4-analog.res-folding-f05dc2e37e6f94ffb92482e95e41c642.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn-folding-2aa4c368899ef82194db9ff60b0476c4.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/export-7cf3fd67ad9f55210191d77b582b8209-default_env.res-folding-6c10dca0eb4080daec576077f1d65933.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/export-8ce09c1d3a597fec7257673145bc706b-main2d.scn-folding-05c3c735f1d6e65de937054d7aa042c0.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/filesystem_cache8: -------------------------------------------------------------------------------- 1 | bdbec74c6e5bd72edee867077d70896c 2 | ::res://::1680388970 3 | default_env.tres::Environment::2316155558777074163::1680388964::0::1::::<><>:: 4 | export_presets.cfg::TextFile::-1::1680388931::0::1::::<><>:: 5 | icon.png::CompressedTexture2D::2506396997437854014::1635611428::1680386616::1::::<><>:: 6 | ::res://addons/::1680386553 7 | ::res://addons/analog_controller/::1680387996 8 | analog.gd::GDScript::-1::1680387996::0::1::::<>Node2D<>:: 9 | analog.tres::Animation::-1::1680386602::0::1::::<><>:: 10 | analog_plugin.gd::GDScript::-1::1680386602::0::1::::<>EditorPlugin<>:: 11 | big_circle_DIRECTION_2_H.png::CompressedTexture2D::976123555885048291::1635611428::1680386621::1::::<><>:: 12 | big_circle_DIRECTION_2_V.png::CompressedTexture2D::6044198466658035195::1635611428::1680386621::1::::<><>:: 13 | big_circle_DIRECTION_4.png::CompressedTexture2D::3892829893881362648::1635611428::1680386621::1::::<><>:: 14 | big_circle_DIRECTION_8.png::CompressedTexture2D::6207279824401386497::1635611428::1680386621::1::::<><>:: 15 | icon.png::CompressedTexture2D::6983142218226037114::1635611428::1680386621::1::::<><>:: 16 | plugin.cfg::TextFile::-1::1680386514::0::1::::<><>:: 17 | small_circle_DIRECTION_2.png::CompressedTexture2D::1675869298996214291::1635611428::1680386621::1::::<><>:: 18 | small_circle_DIRECTION_4.png::CompressedTexture2D::361451651279553778::1635611428::1680386621::1::::<><>:: 19 | small_circle_DIRECTION_8.png::CompressedTexture2D::8351958619971085335::1635611428::1680386621::1::::<><>:: 20 | ::res://assets/::1680386617 21 | particles.png::CompressedTexture2D::6885156605989168324::1635611428::1680386616::1::::<><>:: 22 | plane1.png::CompressedTexture2D::8261133137188206526::1635611428::1680386617::1::::<><>:: 23 | point_off.png::CompressedTexture2D::5712048562650100387::1635611428::1680386616::1::::<><>:: 24 | point_on.png::CompressedTexture2D::3303455501729729698::1635611428::1680386616::1::::<><>:: 25 | rect.png::CompressedTexture2D::4027599223661919092::1635611428::1680386616::1::::<><>:: 26 | ::res://assets/font/::1680386616 27 | PoetsenOne-Regular.ttf::FontFile::4740867751601698629::1635611428::1680386616::1::::<><>:: 28 | ::res://assets/persons/::1635611428 29 | ::res://assets/persons/spark/::1635611428 30 | ::res://assets/persons/spark/idle/::1680386622 31 | down.png::CompressedTexture2D::1685603917308080261::1635611428::1680386622::1::::<><>:: 32 | down_left.png::CompressedTexture2D::7777716053031289249::1635611428::1680386621::1::::<><>:: 33 | down_right.png::CompressedTexture2D::2723908515908494201::1635611428::1680386621::1::::<><>:: 34 | left.png::CompressedTexture2D::53515805855604770::1635611428::1680386622::1::::<><>:: 35 | right.png::CompressedTexture2D::5607190280318479259::1635611428::1680386622::1::::<><>:: 36 | up.png::CompressedTexture2D::408380578618472221::1635611428::1680386621::1::::<><>:: 37 | up_left.png::CompressedTexture2D::6388587979158657376::1635611428::1680386621::1::::<><>:: 38 | up_right.png::CompressedTexture2D::5042514268442031699::1635611428::1680386621::1::::<><>:: 39 | ::res://assets/persons/spark/walk/::1680386618 40 | down.png::CompressedTexture2D::2583584138822700579::1635611428::1680386618::1::::<><>:: 41 | down_left.png::CompressedTexture2D::6539742438765721945::1635611428::1680386618::1::::<><>:: 42 | down_right.png::CompressedTexture2D::6588009057207550602::1635611428::1680386618::1::::<><>:: 43 | left.png::CompressedTexture2D::7806651056562736855::1635611428::1680386618::1::::<><>:: 44 | right.png::CompressedTexture2D::1442411488686344722::1635611428::1680386618::1::::<><>:: 45 | up.png::CompressedTexture2D::4207634531999121959::1635611428::1680386618::1::::<><>:: 46 | up_left.png::CompressedTexture2D::5473073157065934546::1635611428::1680386618::1::::<><>:: 47 | up_right.png::CompressedTexture2D::4090728109154298256::1635611428::1680386618::1::::<><>:: 48 | ::res://scenes/::1680388964 49 | bullet.tscn::PackedScene::8107951048421353323::1680387996::0::1::::<><>::uid://c5dhr2anywnuy<>res://scripts/bullet.gd 50 | main2d.tscn::PackedScene::7089184174024284311::1680388964::0::1::::<><>::uid://b8srntq6kg8pt<>res://scripts/main.gd<>res://addons/analog_controller/analog.gd<>uid://cnm7utyfu7m5x<>uid://bnchoup8xwnwc<>uid://bxm88ahkm5au3<>uid://c5dhr2anywnuy<>uid://dpx0wkdw61151<>uid://bbyd80fwsshk5 51 | ::res://scripts/::1680387636 52 | bullet.gd::GDScript::-1::1680386602::0::1::::<>Node2D<>:: 53 | main.gd::GDScript::-1::1680387636::0::1::::<>Node2D<>:: 54 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/filesystem_update4: -------------------------------------------------------------------------------- 1 | res://default_env.tres 2 | res://scenes/main2d.tscn 3 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/main.gd-folding-03e539d133f764e63262ddfd0d659548.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/main2d.tscn-editstate-8ce09c1d3a597fec7257673145bc706b.cfg: -------------------------------------------------------------------------------- 1 | [editor_states] 2 | 3 | Anim={ 4 | "animation": "idle", 5 | "player": NodePath("players/spark/anim"), 6 | "track_editor_state": { 7 | "fps_mode": false, 8 | "offset": 0.0, 9 | "v_scroll": 0.0, 10 | "zoom": 1.0 11 | }, 12 | "visible": true 13 | } 14 | 2D={ 15 | "grid_offset": Vector2(0, 0), 16 | "grid_snap_active": false, 17 | "grid_step": Vector2(8, 8), 18 | "grid_visibility": 1, 19 | "ofs": Vector2(-1798.49, -286.604), 20 | "primary_grid_steps": 8, 21 | "show_edit_locks": true, 22 | "show_guides": true, 23 | "show_helpers": false, 24 | "show_origin": true, 25 | "show_rulers": true, 26 | "show_transformation_gizmos": true, 27 | "show_viewport": true, 28 | "show_zoom_control": true, 29 | "smart_snap_active": false, 30 | "snap_guides": true, 31 | "snap_node_anchors": true, 32 | "snap_node_center": true, 33 | "snap_node_parent": true, 34 | "snap_node_sides": true, 35 | "snap_other_nodes": true, 36 | "snap_pixel": true, 37 | "snap_relative": false, 38 | "snap_rotation": false, 39 | "snap_rotation_offset": 0.0, 40 | "snap_rotation_step": 0.261799, 41 | "snap_scale": false, 42 | "snap_scale_step": 0.1, 43 | "zoom": 0.222725 44 | } 45 | 3D={ 46 | "fov": 70.01, 47 | "gizmos_status": { 48 | "AudioListener3D": 0, 49 | "AudioStreamPlayer3D": 0, 50 | "CPUParticles3D": 0, 51 | "CSGShape3D": 0, 52 | "Camera3D": 0, 53 | "CollisionObject3D": 0, 54 | "CollisionPolygon3D": 0, 55 | "CollisionShape3D": 0, 56 | "Decal": 0, 57 | "FogVolume": 0, 58 | "GPUParticles3D": 0, 59 | "GPUParticlesCollision3D": 0, 60 | "Joint3D": 0, 61 | "Light3D": 0, 62 | "LightmapGI": 0, 63 | "LightmapProbe": 0, 64 | "Marker3D": 0, 65 | "NavigationLink3D": 0, 66 | "NavigationRegion3D": 0, 67 | "OccluderInstance3D": 0, 68 | "Path3D": 0, 69 | "PhysicalBone3D": 0, 70 | "RayCast3D": 0, 71 | "ReflectionProbe": 0, 72 | "ShapeCast3D": 0, 73 | "Skeleton3D": 0, 74 | "SoftBody3D": 0, 75 | "SpringArm3D": 0, 76 | "VehicleWheel3D": 0, 77 | "VisibleOnScreenNotifier3D": 0, 78 | "VoxelGI": 0 79 | }, 80 | "local_coords": false, 81 | "preview_sun_env": { 82 | "environ_ao_enabled": false, 83 | "environ_enabled": true, 84 | "environ_energy": 1.0, 85 | "environ_gi_enabled": false, 86 | "environ_glow_enabled": true, 87 | "environ_ground_color": Color(0.2, 0.169, 0.133, 1), 88 | "environ_sky_color": Color(0.385, 0.454, 0.55, 1), 89 | "environ_tonemap_enabled": true, 90 | "sun_color": Color(1, 1, 1, 1), 91 | "sun_enabled": true, 92 | "sun_energy": 1.0, 93 | "sun_max_distance": 100.0, 94 | "sun_rotation": Vector2(-1.0472, 2.61799) 95 | }, 96 | "rotate_snap": 15.0, 97 | "scale_snap": 10.0, 98 | "show_grid": true, 99 | "show_origin": true, 100 | "snap_enabled": false, 101 | "translate_snap": 1.0, 102 | "viewport_mode": 1, 103 | "viewports": [{ 104 | "auto_orthogonal": false, 105 | "auto_orthogonal_enabled": true, 106 | "cinematic_preview": false, 107 | "display_mode": 20, 108 | "distance": 4.0, 109 | "doppler": false, 110 | "frame_time": false, 111 | "gizmos": true, 112 | "half_res": false, 113 | "information": false, 114 | "listener": true, 115 | "position": Vector3(0, 0, 0), 116 | "use_environment": false, 117 | "use_orthogonal": false, 118 | "view_type": 0, 119 | "x_rotation": 0.5, 120 | "y_rotation": -0.5 121 | }, { 122 | "auto_orthogonal": false, 123 | "auto_orthogonal_enabled": true, 124 | "cinematic_preview": false, 125 | "display_mode": 20, 126 | "distance": 4.0, 127 | "doppler": false, 128 | "frame_time": false, 129 | "gizmos": true, 130 | "half_res": false, 131 | "information": false, 132 | "listener": false, 133 | "position": Vector3(0, 0, 0), 134 | "use_environment": false, 135 | "use_orthogonal": false, 136 | "view_type": 0, 137 | "x_rotation": 0.5, 138 | "y_rotation": -0.5 139 | }, { 140 | "auto_orthogonal": false, 141 | "auto_orthogonal_enabled": true, 142 | "cinematic_preview": false, 143 | "display_mode": 20, 144 | "distance": 4.0, 145 | "doppler": false, 146 | "frame_time": false, 147 | "gizmos": true, 148 | "half_res": false, 149 | "information": false, 150 | "listener": false, 151 | "position": Vector3(0, 0, 0), 152 | "use_environment": false, 153 | "use_orthogonal": false, 154 | "view_type": 0, 155 | "x_rotation": 0.5, 156 | "y_rotation": -0.5 157 | }, { 158 | "auto_orthogonal": false, 159 | "auto_orthogonal_enabled": true, 160 | "cinematic_preview": false, 161 | "display_mode": 20, 162 | "distance": 4.0, 163 | "doppler": false, 164 | "frame_time": false, 165 | "gizmos": true, 166 | "half_res": false, 167 | "information": false, 168 | "listener": false, 169 | "position": Vector3(0, 0, 0), 170 | "use_environment": false, 171 | "use_orthogonal": false, 172 | "view_type": 0, 173 | "x_rotation": 0.5, 174 | "y_rotation": -0.5 175 | }], 176 | "zfar": 4000.01, 177 | "znear": 0.05 178 | } 179 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/main2d.tscn-folding-8ce09c1d3a597fec7257673145bc706b.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("bkg"), PackedStringArray("Layout"), NodePath("bkg/icon"), PackedStringArray("Transform"), NodePath("bkg/hbox"), PackedStringArray("Layout", "Theme Overrides"), NodePath("bkg/hbox/plane"), PackedStringArray("Layout"), NodePath("bkg/hbox/plane/bkg"), PackedStringArray("Layout"), NodePath("bkg/hbox/plane/label"), PackedStringArray("Layout", "Theme Overrides", "label_settings"), NodePath("bkg/hbox/plane/action"), PackedStringArray("Visibility", "Transform"), NodePath("bkg/hbox/spark"), PackedStringArray("Layout"), NodePath("bkg/hbox/spark/bkg"), PackedStringArray("Layout"), NodePath("bkg/hbox/spark/label"), PackedStringArray("Layout", "Theme Overrides", "label_settings"), NodePath("bkg/hbox/spark/action"), PackedStringArray("Visibility", "Transform"), NodePath("dynamicController"), PackedStringArray("Layout", "Focus", "Input", "Shortcut", "Mouse", "Texture", "Layout/Container Sizing", "Layout/Transform", "Icon Behavior", "BiDi", "Text Behavior", "button_group", "Theme Overrides", "Theme Overrides/icons"), NodePath("CanvasLayerUI/AnalogController"), PackedStringArray("Transform"), NodePath("players"), PackedStringArray("Ordering", "Transform"), NodePath("players/plane"), PackedStringArray("Transform"), NodePath("players/plane/particles_l"), PackedStringArray("Ordering", "Transform", "Time", "Drawing", "Emission Shape", "Scale", "Color"), NodePath("players/plane/particles_r"), PackedStringArray("Ordering", "Transform", "Time", "Drawing", "Emission Shape", "Scale", "Color"), NodePath("players/plane/shadow"), PackedStringArray("Visibility", "Ordering", "Transform"), NodePath("players/plane/shoot"), PackedStringArray("Transform"), NodePath("players/spark"), PackedStringArray("Transform", "Offset", "Animation"), NodePath("players/spark/shadow"), PackedStringArray("Visibility", "Ordering", "Transform")] 4 | resource_unfolds=["res://scenes/main2d.tscn::1", PackedStringArray("Resource"), "res://scenes/main2d.tscn::LabelSettings_fxyp1", PackedStringArray("Font"), "res://scenes/main2d.tscn::LabelSettings_u4fe4", PackedStringArray("Font"), "res://scenes/main2d.tscn::2", PackedStringArray("Resource"), "res://scenes/main2d.tscn::3", PackedStringArray("Resource"), "res://scenes/main2d.tscn::4", PackedStringArray("Resource", "Raw Data")] 5 | nodes_folded=[] 6 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/project_metadata.cfg: -------------------------------------------------------------------------------- 1 | [editor_metadata] 2 | 3 | executable_path="C:/Program Files/Godot/Godot_v4.0.1-stable_win64.exe" 4 | 5 | [debug_options] 6 | 7 | run_live_debug=true 8 | run_reload_scripts=true 9 | 10 | [recent_files] 11 | 12 | scenes=["res://scenes/main2d.tscn", "res://scenes/bullet.tscn"] 13 | scripts=["Signal", "res://addons/analog_controller/analog.gd", "res://addons/analog_controller/analog_plugin.gd", "TouchScreenButton", "res://scripts/bullet.gd", "res://scripts/main.gd"] 14 | 15 | [dialog_bounds] 16 | 17 | project_settings=Rect2(345, 121, 675, 525) 18 | export=Rect2(345, 121, 675, 525) 19 | 20 | [project_settings] 21 | 22 | advanced_mode=true 23 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/recent_dirs: -------------------------------------------------------------------------------- 1 | res://assets 2 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/editor/script_editor_cache.cfg: -------------------------------------------------------------------------------- 1 | [res://scripts/main.gd] 2 | 3 | state={ 4 | "bookmarks": PackedInt32Array(), 5 | "breakpoints": PackedInt32Array(), 6 | "column": 31, 7 | "folded_lines": Array[int]([]), 8 | "h_scroll_position": 0, 9 | "row": 122, 10 | "scroll_position": 0.0, 11 | "selection": true, 12 | "selection_from_column": 18, 13 | "selection_from_line": 122, 14 | "selection_to_column": 31, 15 | "selection_to_line": 122, 16 | "syntax_highlighter": "GDScript" 17 | } 18 | 19 | [res://scripts/bullet.gd] 20 | 21 | state={ 22 | "bookmarks": PackedInt32Array(), 23 | "breakpoints": PackedInt32Array(), 24 | "column": 0, 25 | "folded_lines": Array[int]([]), 26 | "h_scroll_position": 0, 27 | "row": 0, 28 | "scroll_position": 0.0, 29 | "selection": false, 30 | "syntax_highlighter": "GDScript" 31 | } 32 | 33 | [res://addons/analog_controller/analog_plugin.gd] 34 | 35 | state={ 36 | "bookmarks": PackedInt32Array(), 37 | "breakpoints": PackedInt32Array(), 38 | "column": 0, 39 | "folded_lines": Array[int]([]), 40 | "h_scroll_position": 0, 41 | "row": 0, 42 | "scroll_position": 0.0, 43 | "selection": false, 44 | "syntax_highlighter": "GDScript" 45 | } 46 | 47 | [res://addons/analog_controller/analog.gd] 48 | 49 | state={ 50 | "bookmarks": PackedInt32Array(), 51 | "breakpoints": PackedInt32Array(), 52 | "column": 2, 53 | "folded_lines": Array[int]([]), 54 | "h_scroll_position": 0, 55 | "row": 78, 56 | "scroll_position": 66.0, 57 | "selection": false, 58 | "syntax_highlighter": "GDScript" 59 | } 60 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/exported/133200997/export-61ae540076bf66847358de1f3938f3e4-analog.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/exported/133200997/export-61ae540076bf66847358de1f3938f3e4-analog.res -------------------------------------------------------------------------------- /exemplo/2d/.godot/exported/133200997/export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/exported/133200997/export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn -------------------------------------------------------------------------------- /exemplo/2d/.godot/exported/133200997/export-7cf3fd67ad9f55210191d77b582b8209-default_env.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/exported/133200997/export-7cf3fd67ad9f55210191d77b582b8209-default_env.res -------------------------------------------------------------------------------- /exemplo/2d/.godot/exported/133200997/export-8ce09c1d3a597fec7257673145bc706b-main2d.scn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/exported/133200997/export-8ce09c1d3a597fec7257673145bc706b-main2d.scn -------------------------------------------------------------------------------- /exemplo/2d/.godot/exported/133200997/file_cache: -------------------------------------------------------------------------------- 1 | res://addons/analog_controller/analog.tres::7896aceb1c853bf321c286f9bceaadcf::1680386602::res://.godot/exported/133200997/export-61ae540076bf66847358de1f3938f3e4-analog.res 2 | res://scenes/bullet.tscn::258a17ef54d24f337356234f68e88aca::1680387996::res://.godot/exported/133200997/export-6d8e6ff1e6f20a36e0402d27c623c86c-bullet.scn 3 | res://scenes/main2d.tscn::311d41b0a27a58bc131bf4ae9157632d::1680389128::res://.godot/exported/133200997/export-8ce09c1d3a597fec7257673145bc706b-main2d.scn 4 | res://default_env.tres::9aeec89b7ce8289f52d5595666270192::1680389128::res://.godot/exported/133200997/export-7cf3fd67ad9f55210191d77b582b8209-default_env.res 5 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/global_script_class_cache.cfg: -------------------------------------------------------------------------------- 1 | list=Array[Dictionary]([]) 2 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.md5: -------------------------------------------------------------------------------- 1 | source_md5="e7f249e71a563eed9c495835657eb9c2" 2 | dest_md5="6131038e6bc3bc7ba6f6c200df2f55db" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.md5: -------------------------------------------------------------------------------- 1 | source_md5="dfc81f7262b6bae089cfa73e9772a440" 2 | dest_md5="af35f788a72fec6b693578ffdd0e6df9" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.md5: -------------------------------------------------------------------------------- 1 | source_md5="f5a60309e2df18c0990cd91af2eb9ca5" 2 | dest_md5="af4c13ba3c0616cf860c26895dd39990" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.md5: -------------------------------------------------------------------------------- 1 | source_md5="a9f1156007d98e75cc7c4c14b51cf9dc" 2 | dest_md5="7ee9086db48ac71d0cd0b2eacb832c21" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.md5: -------------------------------------------------------------------------------- 1 | source_md5="a9f1156007d98e75cc7c4c14b51cf9dc" 2 | dest_md5="7ee9086db48ac71d0cd0b2eacb832c21" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down.png-82e14e70c7c0bc5ac622256885f52506.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down.png-82e14e70c7c0bc5ac622256885f52506.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down.png-82e14e70c7c0bc5ac622256885f52506.md5: -------------------------------------------------------------------------------- 1 | source_md5="3fd0bbf38ac310599ba26ddb7ca90cee" 2 | dest_md5="6f934bb2246e9308cbe3c9aa78d4a56c" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.md5: -------------------------------------------------------------------------------- 1 | source_md5="c4a67987e1ad452dcdc790d5e49cb731" 2 | dest_md5="c8a63b901e0a8c8802c34728ae2de21a" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_left.png-68869911ad44311be7eaa8634b561e05.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down_left.png-68869911ad44311be7eaa8634b561e05.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_left.png-68869911ad44311be7eaa8634b561e05.md5: -------------------------------------------------------------------------------- 1 | source_md5="5dbef76604bcd2f8c00c25a445988999" 2 | dest_md5="c5cb3a699761d2e90a2b74fa064295f4" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_left.png-d2fc8e38d9d4a243559509455f0e0831.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down_left.png-d2fc8e38d9d4a243559509455f0e0831.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_left.png-d2fc8e38d9d4a243559509455f0e0831.md5: -------------------------------------------------------------------------------- 1 | source_md5="50d8747100b747927e4dbbe69a730231" 2 | dest_md5="44083ee4ed59b6cb91b0ca0c17430d19" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.md5: -------------------------------------------------------------------------------- 1 | source_md5="6ad5b9db627d51a658a7192be01ed714" 2 | dest_md5="5a73c8560c608dce306c5927c53390ab" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_right.png-fa4dd209feddcba0bd649c253803dfa2.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/down_right.png-fa4dd209feddcba0bd649c253803dfa2.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/down_right.png-fa4dd209feddcba0bd649c253803dfa2.md5: -------------------------------------------------------------------------------- 1 | source_md5="06a1104c2fb272eca50a9c89da3f2a98" 2 | dest_md5="ef907914c8c55b365dc62dd48d264905" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.md5: -------------------------------------------------------------------------------- 1 | source_md5="41cec550760ab7d45fb10f9ae6abbf14" 2 | dest_md5="0f6afd229c75f4953323cec042b49245" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.md5: -------------------------------------------------------------------------------- 1 | source_md5="a4dc20ddce289ffde10dd9552c0aba2d" 2 | dest_md5="88f7bab91d9a734857e867eb748867d0" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/left.png-160d950386e348d9f943649c57605c41.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/left.png-160d950386e348d9f943649c57605c41.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/left.png-160d950386e348d9f943649c57605c41.md5: -------------------------------------------------------------------------------- 1 | source_md5="32e9bc0d71444f9237f2e6f940d5f16a" 2 | dest_md5="6b7f5b97e46929d42cc5b93c697d5f42" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/left.png-4bf3735cfda380547d0c54f4650997f7.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/left.png-4bf3735cfda380547d0c54f4650997f7.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/left.png-4bf3735cfda380547d0c54f4650997f7.md5: -------------------------------------------------------------------------------- 1 | source_md5="57f017eb81fa5a604f129cf8f183f49e" 2 | dest_md5="08a2871d1077d804ebe6f30829d19c84" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/particles.png-0964d1b853d1adedd72657848e4d5083.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/particles.png-0964d1b853d1adedd72657848e4d5083.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/particles.png-0964d1b853d1adedd72657848e4d5083.md5: -------------------------------------------------------------------------------- 1 | source_md5="a713a6e9c989c2b61bd2aaff06357e0b" 2 | dest_md5="93b936dbe8e604182b30122bd398b60f" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/plane1.png-8c4be539cf08cc70cebb40081a574a2e.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/plane1.png-8c4be539cf08cc70cebb40081a574a2e.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/plane1.png-8c4be539cf08cc70cebb40081a574a2e.md5: -------------------------------------------------------------------------------- 1 | source_md5="3fcb114b01d4b33c26a4ed8dbda3d8c9" 2 | dest_md5="3d73ad2acf65d45db3ce514fe2c0d66a" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/point_off.png-0687a517f851ccab04574a184805fa2b.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/point_off.png-0687a517f851ccab04574a184805fa2b.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/point_off.png-0687a517f851ccab04574a184805fa2b.md5: -------------------------------------------------------------------------------- 1 | source_md5="7c5c501b716d0a5a9c9eccc8c8842908" 2 | dest_md5="460bc48cd358a0adae527433ce5a4389" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/point_on.png-877310b57926dde9104ba57b4fc94a3f.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/point_on.png-877310b57926dde9104ba57b4fc94a3f.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/point_on.png-877310b57926dde9104ba57b4fc94a3f.md5: -------------------------------------------------------------------------------- 1 | source_md5="f5a8dc502823c78fd22cedf0eae197b4" 2 | dest_md5="b93c9ff644f0c4f7a32f2443df8a41ac" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.md5: -------------------------------------------------------------------------------- 1 | source_md5="90a169b35dc2488c69af221c4de59111" 2 | dest_md5="400c5fcd00242273385f06c5ee2bf9b3" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.md5: -------------------------------------------------------------------------------- 1 | source_md5="f18fae0f0c80b5a4699f60caa1e5b943" 2 | dest_md5="638641425d9f96564b4b44512b891b36" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/right.png-d67f91443e862ceeda52ccf34f9d5528.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/right.png-d67f91443e862ceeda52ccf34f9d5528.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/right.png-d67f91443e862ceeda52ccf34f9d5528.md5: -------------------------------------------------------------------------------- 1 | source_md5="3565a66b1414fd514eb148771cc366b4" 2 | dest_md5="606a43c955007b271d75177a72e21575" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.md5: -------------------------------------------------------------------------------- 1 | source_md5="c684d76d1b38df153788e839f1cc0754" 2 | dest_md5="763954137a8e39b383f3c8ed2deae777" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.md5: -------------------------------------------------------------------------------- 1 | source_md5="c684d76d1b38df153788e839f1cc0754" 2 | dest_md5="763954137a8e39b383f3c8ed2deae777" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.md5: -------------------------------------------------------------------------------- 1 | source_md5="020142b07b0a9a226ee86d37fc875fc2" 2 | dest_md5="a98acc269b9d3fbd055790ffd68e4124" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up.png-28601a093be6478fb77799bf0ffc488f.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up.png-28601a093be6478fb77799bf0ffc488f.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up.png-28601a093be6478fb77799bf0ffc488f.md5: -------------------------------------------------------------------------------- 1 | source_md5="5c468ea735078fa00ed732ad9dcdfd2d" 2 | dest_md5="8460eaac4d4e3162830f022b52e764dd" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up.png-2d58139e4a6e5bdfa96507e89eb73636.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up.png-2d58139e4a6e5bdfa96507e89eb73636.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up.png-2d58139e4a6e5bdfa96507e89eb73636.md5: -------------------------------------------------------------------------------- 1 | source_md5="6e244322909f9410f3c76c1612a8340f" 2 | dest_md5="13d5b87b06574fd26a673e25649879a7" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.md5: -------------------------------------------------------------------------------- 1 | source_md5="9d45d78010a475c0ec8b3fbb54adfdf6" 2 | dest_md5="f64822f4debe3191f4cc4d4f7b046091" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_left.png-8cd1de246f36043600664abb03cf3ed9.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up_left.png-8cd1de246f36043600664abb03cf3ed9.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_left.png-8cd1de246f36043600664abb03cf3ed9.md5: -------------------------------------------------------------------------------- 1 | source_md5="e5529a76b1d14310625d72e40eb433b0" 2 | dest_md5="01bb1641c452eec6f535f8a93552b53a" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_right.png-af655d0321cf51ee63d1edf76b46c3fc.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up_right.png-af655d0321cf51ee63d1edf76b46c3fc.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_right.png-af655d0321cf51ee63d1edf76b46c3fc.md5: -------------------------------------------------------------------------------- 1 | source_md5="13111eb41fba5039388f1528e190c965" 2 | dest_md5="bf67134d186e40b211e665eaaca4285d" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_right.png-ca1057a947230b427ffa498740226324.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/imported/up_right.png-ca1057a947230b427ffa498740226324.ctex -------------------------------------------------------------------------------- /exemplo/2d/.godot/imported/up_right.png-ca1057a947230b427ffa498740226324.md5: -------------------------------------------------------------------------------- 1 | source_md5="dfa8564a3efe5d3b2152e332ec1d11a2" 2 | dest_md5="a5a6cc0924df9e553322858479dc2acc" 3 | 4 | -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/BlitShaderRD/983ec7413f16f1938c6a2dd9f5a2a1e0caf6f604b0503eb07f372613b4899ac4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/BlitShaderRD/983ec7413f16f1938c6a2dd9f5a2a1e0caf6f604b0503eb07f372613b4899ac4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/BokehDofShaderRD/22c29b0827bcdf10d7077cd73c562ebf2cb914f3585da3e020ada05828d61d43/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/BokehDofShaderRD/22c29b0827bcdf10d7077cd73c562ebf2cb914f3585da3e020ada05828d61d43/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasOcclusionShaderRD/62460b6f262681d1eb5510be6595a569d77ba881ced2939ffb26e4a9e457acd4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasOcclusionShaderRD/62460b6f262681d1eb5510be6595a569d77ba881ced2939ffb26e4a9e457acd4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasSdfShaderRD/7d0d717fe33cb510c861719fe942551c47b82864a5078198db3a5555546e5658/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasSdfShaderRD/7d0d717fe33cb510c861719fe942551c47b82864a5078198db3a5555546e5658/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/6c94b25d75b1ec58f806edc8e65c2a35743ad557.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/6c94b25d75b1ec58f806edc8e65c2a35743ad557.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/86b4b6d51b4a45af6d7a93cd8ccd2af80a156da9.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/86b4b6d51b4a45af6d7a93cd8ccd2af80a156da9.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/98676c93f49a619be763bf730c8db104e1e3ad96.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/98676c93f49a619be763bf730c8db104e1e3ad96.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/9d0533530a382e64370fc542a58d7fdac6c773bd.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/9d0533530a382e64370fc542a58d7fdac6c773bd.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/a444689c2f13418983bd978ab522bd863aed69c5.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/a444689c2f13418983bd978ab522bd863aed69c5.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/cfbe819c6b55623a3cfeaf8d0ab83aeaa2d48269.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/cfbe819c6b55623a3cfeaf8d0ab83aeaa2d48269.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/eaf44e18cd01e1dcdf84a400c6fbe82c311d34e7.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CanvasShaderRD/09807b57940ba053ea8e88c0681c795c75d528f46fc680d2966f33611091deab/eaf44e18cd01e1dcdf84a400c6fbe82c311d34e7.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ClusterDebugShaderRD/da87fc424090e2222aa074ec9ff0968cb2ad15a88ad2a0172845f1fff79b7c0e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ClusterDebugShaderRD/da87fc424090e2222aa074ec9ff0968cb2ad15a88ad2a0172845f1fff79b7c0e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ClusterRenderShaderRD/442183d45596e9365c13bcb9523b681200605edd1a02954f203a4ab58e21267f/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ClusterRenderShaderRD/442183d45596e9365c13bcb9523b681200605edd1a02954f203a4ab58e21267f/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ClusterStoreShaderRD/58c2b90c04f2f7489717dbd03221062e2d150b22ed0abc3bf136ecc5b713b402/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ClusterStoreShaderRD/58c2b90c04f2f7489717dbd03221062e2d150b22ed0abc3bf136ecc5b713b402/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CopyShaderRD/86cd9ebbdf3044c8a74e95a1c4a1c1ea5cac5db23161f838baa2faaae4601c58/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CopyShaderRD/86cd9ebbdf3044c8a74e95a1c4a1c1ea5cac5db23161f838baa2faaae4601c58/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CopyToFbShaderRD/03a2b65c6d86aad7317b696e3880635b42ce3f7bf438951e46edde5e2efa8342/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CopyToFbShaderRD/03a2b65c6d86aad7317b696e3880635b42ce3f7bf438951e46edde5e2efa8342/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CubeToDpShaderRD/1489d45197bbca90b65d5fb9332ce85592bb744afba20e3ba3d87e8ac8f70e79/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CubeToDpShaderRD/1489d45197bbca90b65d5fb9332ce85592bb744afba20e3ba3d87e8ac8f70e79/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CubemapDownsamplerShaderRD/86095e8ee0e9c62cfa1bd1cdfb743af070a4c80e41e83c102354e425501ec7f0/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CubemapDownsamplerShaderRD/86095e8ee0e9c62cfa1bd1cdfb743af070a4c80e41e83c102354e425501ec7f0/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CubemapFilterShaderRD/b8fd4d446870af410944bd52b07b7c46b7b8b8fa682bd0adbfee99897d1b079a/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CubemapFilterShaderRD/b8fd4d446870af410944bd52b07b7c46b7b8b8fa682bd0adbfee99897d1b079a/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/CubemapRoughnessShaderRD/888250e25c9068f24090d81e6f9c8af359d2980b60f1782318b1fac6e0a04e93/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/CubemapRoughnessShaderRD/888250e25c9068f24090d81e6f9c8af359d2980b60f1782318b1fac6e0a04e93/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/FsrUpscaleShaderRD/7b77b192c7eabf3d47bd042c73bbee43d0f804cea380e18f7b4e10003b3d26bd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/FsrUpscaleShaderRD/7b77b192c7eabf3d47bd042c73bbee43d0f804cea380e18f7b4e10003b3d26bd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/GiShaderRD/47e86a9cbcb22f7cc0dd8321c020a96cabc50ecb73818f7aa5a1f188c77e1a13/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/GiShaderRD/47e86a9cbcb22f7cc0dd8321c020a96cabc50ecb73818f7aa5a1f188c77e1a13/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/LuminanceReduceShaderRD/cb6ddef2389765229312fed94c6ba913878347f98fd39f4503edf2007014740d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/LuminanceReduceShaderRD/cb6ddef2389765229312fed94c6ba913878347f98fd39f4503edf2007014740d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ParticlesCopyShaderRD/0b6db5d50b4b89cb76356b4655b42789e143651e42ae6c23ed25273cbbb439a1/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ParticlesCopyShaderRD/0b6db5d50b4b89cb76356b4655b42789e143651e42ae6c23ed25273cbbb439a1/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ParticlesShaderRD/80e0a75d99cdff16483fb83313ac87be47e5895dae8a0a597d79a5f51604cbb0/f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ParticlesShaderRD/80e0a75d99cdff16483fb83313ac87be47e5895dae8a0a597d79a5f51604cbb0/f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ResolveShaderRD/d7e5470a1b12e5f467e70efc1bfcfae68472e8eb7b52a558f0fb1624c9fbce31/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ResolveShaderRD/d7e5470a1b12e5f467e70efc1bfcfae68472e8eb7b52a558f0fb1624c9fbce31/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/RoughnessLimiterShaderRD/50f41f053b119530b58378450b0736dba3820c2c0390bbe4c762889bae2865ab/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/RoughnessLimiterShaderRD/50f41f053b119530b58378450b0736dba3820c2c0390bbe4c762889bae2865ab/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/118ba36f6ebd3257d0e24fef9b5c1f403c461a66.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/118ba36f6ebd3257d0e24fef9b5c1f403c461a66.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/1344ce3d77ef72d56eef3c9cd0d5417bdd0a4b13.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/1344ce3d77ef72d56eef3c9cd0d5417bdd0a4b13.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/3c2004ff2f4cb10be32eecce3aef58999f3a3c00.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/3c2004ff2f4cb10be32eecce3aef58999f3a3c00.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/3d0d92e506ebed59ea8f1359f384dea3a9c607db.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/3d0d92e506ebed59ea8f1359f384dea3a9c607db.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/56b5925a2b0572c2ded75f0fcb579c223484ca13.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/56b5925a2b0572c2ded75f0fcb579c223484ca13.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/5e1ddc0dfdfa4a0280e0bd9cfc3279252e3c7973.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/5e1ddc0dfdfa4a0280e0bd9cfc3279252e3c7973.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/7e6f09e567701e5ed403065b0ec9125225432ba4.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/7e6f09e567701e5ed403065b0ec9125225432ba4.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/84f3bfa29ba52d036ccb227b544f4212261b97e7.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/84f3bfa29ba52d036ccb227b544f4212261b97e7.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/8c405797d04cff2252b29dc660af5eda3a9bef6a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/8c405797d04cff2252b29dc660af5eda3a9bef6a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/8d29d1fcc64ce2d8b7ed49c901c65a91146fbb76.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/8d29d1fcc64ce2d8b7ed49c901c65a91146fbb76.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/90d1f2dc8493a4c954ba463e0fb3e0232f84d84d.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/90d1f2dc8493a4c954ba463e0fb3e0232f84d84d.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9909cf38417b9edb6e5a64b31241317810757356.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9909cf38417b9edb6e5a64b31241317810757356.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9bac24b6b27ed3d77e750d66523fc854f8d3e4d8.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9bac24b6b27ed3d77e750d66523fc854f8d3e4d8.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9daebd2e9a93be48c2f780ac379da9f156a37fc1.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/9daebd2e9a93be48c2f780ac379da9f156a37fc1.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/d5380b6ac7ee6d22bc98457496eb4495a49b1c6f.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/d5380b6ac7ee6d22bc98457496eb4495a49b1c6f.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/f56c506d48f920a47e552ed6cf6059536156a939.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SceneForwardClusteredShaderRD/10eab2d50272ac19a0440e0d2ff261f4664d7a2b76b1e7f13ea4b4351d96dfd8/f56c506d48f920a47e552ed6cf6059536156a939.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/ed9e1b2b8a4e4b231c4062d6d221c55a24d60057dba45c5e6e3f0f50736d3840/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/ed9e1b2b8a4e4b231c4062d6d221c55a24d60057dba45c5e6e3f0f50736d3840/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/96e215e75b1a2f087da8d952ea6eff8a2011f80623664548b1cc1959f67e4782/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/96e215e75b1a2f087da8d952ea6eff8a2011f80623664548b1cc1959f67e4782/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionShaderRD/3a01e3ec5e743d6d497d6fb1aeca6d61ff3496e2d8509cd07c2a325d03675d68/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/ScreenSpaceReflectionShaderRD/3a01e3ec5e743d6d497d6fb1aeca6d61ff3496e2d8509cd07c2a325d03675d68/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SdfgiDebugProbesShaderRD/8be0e8c0351238eb760202d0115c2351195bd604a8b60e0af5f62151559b00d9/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SdfgiDebugProbesShaderRD/8be0e8c0351238eb760202d0115c2351195bd604a8b60e0af5f62151559b00d9/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SdfgiDebugShaderRD/28fa27ac7654f48fb84a9ef3faa86dec0b673d8ec6d7fd16ca627a74e58a34d7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SdfgiDebugShaderRD/28fa27ac7654f48fb84a9ef3faa86dec0b673d8ec6d7fd16ca627a74e58a34d7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SdfgiDirectLightShaderRD/e871a27b8b1f4716ea7d4eec66617e3ad1f2bb2b083208a5aa6ff26c3d228211/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SdfgiDirectLightShaderRD/e871a27b8b1f4716ea7d4eec66617e3ad1f2bb2b083208a5aa6ff26c3d228211/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SdfgiIntegrateShaderRD/87a1f76c60003ca7e43b19337fc0c76d7729a7f59e9324c4abc3db730efdf631/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SdfgiIntegrateShaderRD/87a1f76c60003ca7e43b19337fc0c76d7729a7f59e9324c4abc3db730efdf631/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SdfgiPreprocessShaderRD/d9a2176b5aaf1bada6435a755b595e4b9e3b97391506c6a52f7d039a94145df2/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SdfgiPreprocessShaderRD/d9a2176b5aaf1bada6435a755b595e4b9e3b97391506c6a52f7d039a94145df2/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkeletonShaderRD/34bc7dd0d2d73677a209eb39efedaf87249f983b1224f56a395bb3d233d3284e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkeletonShaderRD/34bc7dd0d2d73677a209eb39efedaf87249f983b1224f56a395bb3d233d3284e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/03e3b11c69e24394b2d955a8c0ba85587bb70839.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/03e3b11c69e24394b2d955a8c0ba85587bb70839.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/59fe6cf05bf4a13d34c144643274612aacecb959.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/59fe6cf05bf4a13d34c144643274612aacecb959.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/793ce7e11b582451627017df13679d8dac889488.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/793ce7e11b582451627017df13679d8dac889488.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/95e55bdcfff59c30143e80c9cabfe2f175ddb660.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/95e55bdcfff59c30143e80c9cabfe2f175ddb660.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/de678811d1bad3cad4892a8db7b6ea0be197d51d.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/de678811d1bad3cad4892a8db7b6ea0be197d51d.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/f01de7cfc190c5a681916d623818c76cd220b8f4.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SkyShaderRD/aec5cec049c7292a16245d89f4244b495eb8cbdae8288061bb3c39856c82a397/f01de7cfc190c5a681916d623818c76cd220b8f4.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SortShaderRD/d268129d5dc91afd22c48522607135db27cbebca10061158c2f9847776b8d712/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SortShaderRD/d268129d5dc91afd22c48522607135db27cbebca10061158c2f9847776b8d712/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SpecularMergeShaderRD/e890316bb1e0e4507aebf4ba2d016038928d484e96abc2b9144618cc2b00097d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SpecularMergeShaderRD/e890316bb1e0e4507aebf4ba2d016038928d484e96abc2b9144618cc2b00097d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsEffectsDownsampleShaderRD/fede984b5457acee2b330b10803281c3f848d0a3b1a8aeb5b02e6701bbf97f09/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsEffectsDownsampleShaderRD/fede984b5457acee2b330b10803281c3f848d0a3b1a8aeb5b02e6701bbf97f09/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsaoBlurShaderRD/3fbdaf0cf9aa78d0a808d15028d88c3b648e306ed0c59172c0e163137dae9140/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsaoBlurShaderRD/3fbdaf0cf9aa78d0a808d15028d88c3b648e306ed0c59172c0e163137dae9140/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsaoImportanceMapShaderRD/36a1ff540d1357f99ea4db79ae38e9a2be28ae24598fd2f202a2f25aa0b9cc0a/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsaoImportanceMapShaderRD/36a1ff540d1357f99ea4db79ae38e9a2be28ae24598fd2f202a2f25aa0b9cc0a/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsaoInterleaveShaderRD/86f8c1cdb51e59fab94d56aa17487d6f6b7afe7f2162122241d983a847fbaa0c/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsaoInterleaveShaderRD/86f8c1cdb51e59fab94d56aa17487d6f6b7afe7f2162122241d983a847fbaa0c/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsaoShaderRD/fcea2c082c4b46a99752551ec41d39a4f9a233cc2c4546e6f5f687c29f2773ec/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsaoShaderRD/fcea2c082c4b46a99752551ec41d39a4f9a233cc2c4546e6f5f687c29f2773ec/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsilBlurShaderRD/ef320f8ba48890db75afd1ce17706a1835d1b4483b92d63d722c63185a198d1c/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsilBlurShaderRD/ef320f8ba48890db75afd1ce17706a1835d1b4483b92d63d722c63185a198d1c/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsilImportanceMapShaderRD/2d02a98f3c59cd4ea2066d9543dd6e1fc85749ea2fc1d161c1d74321b0988413/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsilImportanceMapShaderRD/2d02a98f3c59cd4ea2066d9543dd6e1fc85749ea2fc1d161c1d74321b0988413/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsilInterleaveShaderRD/f20239cfae6f3f34fb05970f1686dc9c1edc076df4f624bb336dd76e78cb1484/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsilInterleaveShaderRD/f20239cfae6f3f34fb05970f1686dc9c1edc076df4f624bb336dd76e78cb1484/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SsilShaderRD/652774bacf6ab9e70ffdf0c58964841488df2a3d9d3504e3d2846564df12d425/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SsilShaderRD/652774bacf6ab9e70ffdf0c58964841488df2a3d9d3504e3d2846564df12d425/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/SubsurfaceScatteringShaderRD/6382a5f9d9672b1a07a59dcdd8aa06731e5170ca947a06af19f6352c92e3b207/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/SubsurfaceScatteringShaderRD/6382a5f9d9672b1a07a59dcdd8aa06731e5170ca947a06af19f6352c92e3b207/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/TaaResolveShaderRD/7e598df7d1a003e5836e1639a0b833cfccd9cd11a446e0a70768c1c8c4d7d1e0/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/TaaResolveShaderRD/7e598df7d1a003e5836e1639a0b833cfccd9cd11a446e0a70768c1c8c4d7d1e0/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/TonemapShaderRD/1308ccde1bc769cdfc2bf2bb99027a4205f94c2fb75907103d720ae6b1537af8/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/TonemapShaderRD/1308ccde1bc769cdfc2bf2bb99027a4205f94c2fb75907103d720ae6b1537af8/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/VolumetricFogProcessShaderRD/feecc13b600023b4a9ffc54b3a0195755435b6ca67a3aa5bdab122b077957c69/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/VolumetricFogProcessShaderRD/feecc13b600023b4a9ffc54b3a0195755435b6ca67a3aa5bdab122b077957c69/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/VolumetricFogShaderRD/8f72a98daf831361bf9e3dbd9fffcbd47531dda2415011b582f1ae4097399f9a/9a227745af2d65830f930370a9fbba551fbd6f60.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/VolumetricFogShaderRD/8f72a98daf831361bf9e3dbd9fffcbd47531dda2415011b582f1ae4097399f9a/9a227745af2d65830f930370a9fbba551fbd6f60.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/VoxelGiDebugShaderRD/7edfe4dfe9bb48bde9ef3a638cac01ff51559d4da17fc5487500c754dba3b700/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/VoxelGiDebugShaderRD/7edfe4dfe9bb48bde9ef3a638cac01ff51559d4da17fc5487500c754dba3b700/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/shader_cache/VoxelGiShaderRD/fadfd4245b673985a6474b077a34e593af9f9a6102922225709d9a8d040f6a65/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/shader_cache/VoxelGiShaderRD/fadfd4245b673985a6474b077a34e593af9f9a6102922225709d9a8d040f6a65/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /exemplo/2d/.godot/uid_cache.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/.godot/uid_cache.bin -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/analog.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | enum typesAnalog { DIRECTION_2_H, DIRECTION_2_V, DIRECTION_4, DIRECTION_8, DIRECTION_360 } 4 | 5 | @onready var ball = Sprite2D.new() 6 | @onready var ballAnalogicoBall = Sprite2D.new() 7 | @onready var bg = Sprite2D.new() 8 | @onready var bgAnalogicoBase = Sprite2D.new() 9 | 10 | const INACTIVE = -1 11 | 12 | var initialized = false 13 | var initial_position = Vector2.ZERO 14 | var local_paused = false 15 | var isDragging = false 16 | var directions = ["right", "down_right", "down", "down_left", "left", "up_left", "up", "up_right"] 17 | var parent 18 | var listenerNode 19 | var released = false 20 | var currentForce2:float = 0.0 21 | var centerPoint = Vector2(0,0) 22 | var currentForce = Vector2(0,0) 23 | var halfSize = Vector2() 24 | var ballPos = Vector2() 25 | var squaredHalfSizeLenght = 0 26 | var currentPointerIDX = INACTIVE 27 | 28 | @export var isDynamicallyShowing:bool = false 29 | @export var typeAnalogic: typesAnalog = typesAnalog.DIRECTION_8 30 | @export_range(0.00,1.00) var smoothClick = 0.02 31 | @export_range(0.00,1.00) var smoothRelease = 0.02 32 | @export var scaleBall: Vector2 = Vector2(1,1) 33 | @export var bigBallTexture: Texture2D = preload("big_circle_DIRECTION_8.png") 34 | @export var smallBallTexture: Texture2D = preload("small_circle_DIRECTION_8.png") 35 | @export var directionsResult: Dictionary = { 36 | "right":"right", 37 | "down_right":"down_right", 38 | "down":"down", 39 | "down_left":"down_left", 40 | "left":"left", 41 | "up_left":"up_left", 42 | "up":"up", 43 | "up_right":"up_right" 44 | } 45 | 46 | signal analogChange(force, pos) 47 | signal analogPressed 48 | signal analogRelease 49 | 50 | func _ready() -> void: 51 | initial_position = global_position 52 | _configAnalog() 53 | initialized = true 54 | scale = Vector2(1,1) 55 | 56 | func _configAnalog(): 57 | set_process_input(true) 58 | 59 | if !initialized: 60 | add_child(bg) 61 | bg.add_child(bgAnalogicoBase) 62 | bg.scale = scaleBall 63 | bg.texture = bigBallTexture 64 | 65 | add_child(ball) 66 | ball.add_child(ballAnalogicoBall) 67 | ball.scale = scaleBall 68 | ball.texture = smallBallTexture 69 | 70 | parent = get_parent(); 71 | 72 | halfSize = bg.texture.get_size()/2; 73 | squaredHalfSizeLenght = halfSize.x*halfSize.y; 74 | 75 | if isDynamicallyShowing: 76 | modulate.a = 0 77 | else: 78 | await get_tree().create_timer(.2).timeout 79 | position = initial_position 80 | modulate.a = 1 81 | show() 82 | 83 | func _convertType(pos): 84 | if local_paused:return 85 | var angle = Vector2(pos.x, -pos.y).angle() + .5 86 | if angle < 0: 87 | angle += 2 * PI 88 | var index = round(angle / PI * 4) 89 | var animation = directions[index-1] 90 | return animation 91 | 92 | func get_force(): 93 | if local_paused:return 94 | return currentForce 95 | 96 | func _input(event): 97 | if local_paused:return 98 | 99 | var incomingPointer = extractPointerIdx(event) 100 | if incomingPointer == INACTIVE: 101 | return 102 | 103 | if need2ChangeActivePointer(event): 104 | if !isDragging: return 105 | if (currentPointerIDX != incomingPointer) and event.is_pressed(): 106 | currentPointerIDX = incomingPointer; 107 | if event is InputEventMouseMotion or event is InputEventMouseButton: 108 | showAtPos(event.position) 109 | 110 | var theSamePointer = currentPointerIDX == incomingPointer 111 | if isActive() and theSamePointer: 112 | process_input(event) 113 | 114 | func need2ChangeActivePointer(event): 115 | if local_paused:return 116 | var mouseButton = event is InputEventMouseButton 117 | var touch = event is InputEventScreenTouch 118 | 119 | if event is InputEventMouseMotion or event is InputEventMouseButton: 120 | var mouse_event_pos = event.position 121 | if mouseButton or touch: 122 | isDragging = true 123 | if isDynamicallyShowing: 124 | return mouse_event_pos 125 | else: 126 | var lenght = (get_global_position() - Vector2(mouse_event_pos.x, mouse_event_pos.y)).length_squared(); 127 | return lenght < squaredHalfSizeLenght 128 | else: 129 | return false 130 | else: 131 | return false 132 | 133 | func isActive() -> bool: 134 | if local_paused:return false 135 | return currentPointerIDX != INACTIVE 136 | 137 | func extractPointerIdx(event): 138 | if local_paused:return 139 | var touch = event is InputEventScreenTouch 140 | var drag = event is InputEventScreenDrag 141 | var mouseButton = event is InputEventMouseButton 142 | var mouseMove = event is InputEventMouseMotion 143 | 144 | if touch or drag: 145 | return event.index 146 | elif mouseButton or mouseMove: 147 | return 0 148 | else: 149 | return INACTIVE 150 | 151 | func process_input(event): 152 | if local_paused:return 153 | var mouseButton = event is InputEventMouseButton 154 | var mouseMove = event is InputEventMouseMotion 155 | 156 | if mouseMove or mouseButton: 157 | calculateForce(event.position.x - self.get_global_position().x, event.position.y - self.get_global_position().y) 158 | updateBallPos() 159 | 160 | var isReleased = isReleased(event) 161 | if isReleased: 162 | reset() 163 | else: 164 | emit_signal("analogPressed") 165 | show() 166 | 167 | var _force = 0 168 | var _pos = Vector2.ZERO 169 | if typeAnalogic == typesAnalog.DIRECTION_360: 170 | _force = currentForce2 171 | _pos = currentForce.normalized() * Vector2(1, -1) 172 | 173 | emit_signal("analogChange", _force, _pos) 174 | return 175 | 176 | elif typeAnalogic == typesAnalog.DIRECTION_2_H: 177 | 178 | _force = currentForce2 179 | var converted = _convertType(currentForce) 180 | _pos = directionsResult[converted] 181 | 182 | match _pos: 183 | "right": _force = Vector2(1, 0) * _force 184 | "left": _force = Vector2(-1, 0) * _force 185 | 186 | _: _force = Vector2.ZERO 187 | 188 | if _force is Vector2: 189 | _force = _force.normalized() 190 | 191 | emit_signal("analogChange", _force * currentForce2, _pos) 192 | 193 | elif typeAnalogic == typesAnalog.DIRECTION_2_V: 194 | 195 | _force = currentForce2 196 | var converted = _convertType(currentForce) 197 | _pos = directionsResult[converted] 198 | 199 | match _pos: 200 | "up": _force = Vector2(0, -1) * _force 201 | "down": _force = Vector2(0, 1) * _force 202 | _: _force = Vector2.ZERO 203 | 204 | if _force is Vector2: 205 | _force = _force.normalized() 206 | 207 | emit_signal("analogChange", _force * currentForce2, _pos) 208 | 209 | 210 | elif typeAnalogic == typesAnalog.DIRECTION_4: 211 | 212 | _force = currentForce2 213 | var converted = _convertType(currentForce) 214 | _pos = directionsResult[converted] 215 | 216 | match _pos: 217 | "right": _force = Vector2(1, 0) * _force 218 | "left": _force = Vector2(-1, 0) * _force 219 | "up": _force = Vector2(0, -1) * _force 220 | "down": _force = Vector2(0, 1) * _force 221 | _: _force = Vector2.ZERO 222 | 223 | if _force is Vector2: 224 | _force = _force.normalized() 225 | 226 | emit_signal("analogChange", _force * currentForce2, _pos) 227 | 228 | 229 | elif typeAnalogic == typesAnalog.DIRECTION_8: 230 | 231 | _force = currentForce2 232 | var converted = _convertType(currentForce) 233 | _pos = directionsResult[converted] 234 | 235 | match _pos: 236 | "right": _force = Vector2(1, 0) * _force 237 | "down_right": _force = Vector2(1, 1) * _force 238 | "up_right": _force = Vector2(1, -1) * _force 239 | "left": _force = Vector2(-1, 0) * _force 240 | "down_left": _force = Vector2(-1, 1) * _force 241 | "up_left": _force = Vector2(-1, -1) * _force 242 | "up": _force = Vector2(0, -1) * _force 243 | "down": _force = Vector2(0, 1) * _force 244 | _: _force = Vector2.ZERO 245 | 246 | if _force is Vector2: 247 | _force = _force.normalized() 248 | 249 | emit_signal("analogChange", _force * currentForce2, _pos) 250 | 251 | func reset() -> void: 252 | emit_signal("analogRelease") 253 | currentPointerIDX = INACTIVE 254 | calculateForce(0, 0) 255 | 256 | updateBallPos() 257 | if isDynamicallyShowing: 258 | hide() 259 | #else: 260 | 261 | 262 | func showAtPos(pos) -> void: 263 | if local_paused: return 264 | if !isDynamicallyShowing: return 265 | 266 | self.set_global_position(pos) 267 | while self.modulate.a < 1.0 and isActive(): 268 | await get_tree().create_timer(smoothClick).timeout 269 | self.modulate.a += .1 270 | 271 | if !isActive(): 272 | self.modulate.a = 0 273 | 274 | func hide() -> void: 275 | if isDynamicallyShowing: return 276 | while self.modulate.a > 0.0 and !isActive(): 277 | await get_tree().create_timer(smoothRelease).timeout 278 | self.modulate.a -= .1 279 | 280 | emit_signal("analogRelease") 281 | 282 | func show() -> void: 283 | while self.modulate.a < 1.0 and !isActive(): 284 | await get_tree().create_timer(smoothRelease).timeout 285 | self.modulate.a += .1 286 | 287 | emit_signal("analogRelease") 288 | 289 | func updateBallPos() -> void: 290 | if local_paused:return 291 | 292 | if typeAnalogic != typesAnalog.DIRECTION_2_V: 293 | ballPos.x = halfSize.x * currentForce.x 294 | 295 | if typeAnalogic != typesAnalog.DIRECTION_2_H: 296 | ballPos.y = halfSize.y * -currentForce.y 297 | 298 | ballPos *= scaleBall 299 | ball.position = ballPos 300 | 301 | var bigBallSize = (bg.texture.get_size().x / 2) * scaleBall.x 302 | currentForce2 = (centerPoint.distance_to(ballPos) * 100.0 / bigBallSize) / 100.0 303 | currentForce2 = snappedf(currentForce2, .001) 304 | currentForce2 = clamp(currentForce2, -1.0, 1.0) 305 | 306 | 307 | func calculateForce(x, y) -> void: 308 | if local_paused:return 309 | if typeAnalogic != typesAnalog.DIRECTION_2_V: 310 | currentForce.x = (x - centerPoint.x)/halfSize.x 311 | 312 | if typeAnalogic != typesAnalog.DIRECTION_2_H: 313 | currentForce.y = -(y - centerPoint.y)/halfSize.y 314 | 315 | if currentForce.length_squared()>1: 316 | currentForce=currentForce/currentForce.length() 317 | 318 | func isPressed(event): 319 | if local_paused:return 320 | if event is InputEventMouseMotion: 321 | return (event.button_mask==1) 322 | elif event is InputEventScreenTouch: 323 | isDragging = true 324 | return event.pressed 325 | 326 | func isReleased(event): 327 | if event is InputEventScreenTouch: 328 | return !event.pressed 329 | elif event is InputEventMouseButton: 330 | return !event.pressed 331 | 332 | func pause() -> void: 333 | local_paused = true 334 | hide() 335 | 336 | func unpause() -> void: 337 | local_paused = false 338 | if isDynamicallyShowing: return 339 | reset() 340 | show() 341 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/analog.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Animation" format=2] 2 | 3 | [resource] 4 | resource_name = "alpha_in" 5 | length = 0.5 6 | tracks/0/type = "value" 7 | tracks/0/path = NodePath(".:modulate") 8 | tracks/0/interp = 1 9 | tracks/0/loop_wrap = true 10 | tracks/0/imported = false 11 | tracks/0/enabled = true 12 | tracks/0/keys = { 13 | "times": PackedFloat32Array( 0, 0.4 ), 14 | "transitions": PackedFloat32Array( 1, 1 ), 15 | "update": 0, 16 | "values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] 17 | } 18 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/analog_plugin.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends EditorPlugin 3 | 4 | func _enter_tree(): 5 | add_custom_type("AnalogController", "Node2D", preload("analog.gd"), preload("icon.png")) 6 | 7 | func _exit_tree(): 8 | remove_custom_type("AnalogController") 9 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/big_circle.png-8e1df57959b3fe614146ea3064fe81e4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/big_circle.png" 13 | dest_files=[ "res://.import/big_circle.png-8e1df57959b3fe614146ea3064fe81e4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/big_circle_DIRECTION_2.png-fd72c64ba7d0946b7c6448d0da6f9fbe.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2.png" 13 | dest_files=[ "res://.import/big_circle_DIRECTION_2.png-fd72c64ba7d0946b7c6448d0da6f9fbe.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_H.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_H.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://n53u245ak7l4" 6 | path="res://.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2_H.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_2_H.png-a8c2e0bfd4c462227a0aaeb9ba12a53c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_V.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_2_V.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://csd4ch6nc8nnf" 6 | path="res://.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_2_V.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_2_V.png-63ff0287eb3ac729b7678b80a84c9c66.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/big_circle_DIRECTION_4.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_4.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bvpylst0i432k" 6 | path="res://.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_4.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_4.png-917f0e212fd2ec67544f8c8800f38503.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/big_circle_DIRECTION_8.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/big_circle_DIRECTION_8.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cuo38yshmko70" 6 | path="res://.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/big_circle_DIRECTION_8.png" 14 | dest_files=["res://.godot/imported/big_circle_DIRECTION_8.png-4cd1c102915dd8bcf67b0bc0be67f87c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/icon.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c6qxlj5iivhyg" 6 | path="res://.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/icon.png" 14 | dest_files=["res://.godot/imported/icon.png-e304b08143be6f4fb1c52517782f5244.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | 3 | name="AnalogController" 4 | description="Analog Controller" 5 | author="Thiago Bruno" 6 | version="2.0" 7 | script="analog_plugin.gd" 8 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/small_circle.png-6b3a0258d39e2f48a9d8212a99890295.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/analog_controller/small_circle.png" 13 | dest_files=[ "res://.import/small_circle.png-6b3a0258d39e2f48a9d8212a99890295.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/small_circle_DIRECTION_2.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://x42k722txpnv" 6 | path="res://.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_2.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_2.png-9e8092e072c044cefa31435ac2b657a1.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/small_circle_DIRECTION_4.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_4.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ffdb5uu6edn3" 6 | path="res://.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_4.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_4.png-8078b37708e69615e76b4923b2effee0.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/addons/analog_controller/small_circle_DIRECTION_8.png -------------------------------------------------------------------------------- /exemplo/2d/addons/analog_controller/small_circle_DIRECTION_8.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dq80skg1evtbb" 6 | path="res://.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/analog_controller/small_circle_DIRECTION_8.png" 14 | dest_files=["res://.godot/imported/small_circle_DIRECTION_8.png-3a60fe851b4df30b5468555e2516e763.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/font/PoetsenOne-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/font/PoetsenOne-Regular.ttf -------------------------------------------------------------------------------- /exemplo/2d/assets/font/PoetsenOne-Regular.ttf.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="font_data_dynamic" 4 | type="FontFile" 5 | uid="uid://b8srntq6kg8pt" 6 | path="res://.godot/imported/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/font/PoetsenOne-Regular.ttf" 11 | dest_files=["res://.godot/imported/PoetsenOne-Regular.ttf-2652dfb8e2c0464c413f7d5451cf3933.fontdata"] 12 | 13 | [params] 14 | 15 | Rendering=null 16 | antialiasing=1 17 | generate_mipmaps=false 18 | multichannel_signed_distance_field=false 19 | msdf_pixel_range=8 20 | msdf_size=48 21 | allow_system_fallback=true 22 | force_autohinter=false 23 | hinting=1 24 | subpixel_positioning=1 25 | oversampling=0.0 26 | Fallbacks=null 27 | fallbacks=[] 28 | Compress=null 29 | compress=true 30 | preload=[] 31 | language_support={} 32 | script_support={} 33 | opentype_features={} 34 | -------------------------------------------------------------------------------- /exemplo/2d/assets/particles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/particles.png -------------------------------------------------------------------------------- /exemplo/2d/assets/particles.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c5dhr2anywnuy" 6 | path="res://.godot/imported/particles.png-0964d1b853d1adedd72657848e4d5083.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/particles.png" 14 | dest_files=["res://.godot/imported/particles.png-0964d1b853d1adedd72657848e4d5083.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/down.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://yarwdxme6vjh" 6 | path="res://.godot/imported/down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/down.png" 14 | dest_files=["res://.godot/imported/down.png-c2b15f01e010ac2e4a4a4b2b6ebb83b4.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/down_left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down_left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://di2t32gv7awub" 6 | path="res://.godot/imported/down_left.png-d2fc8e38d9d4a243559509455f0e0831.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/down_left.png" 14 | dest_files=["res://.godot/imported/down_left.png-d2fc8e38d9d4a243559509455f0e0831.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/down_right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/down_right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://be2qm03mg0vhp" 6 | path="res://.godot/imported/down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/down_right.png" 14 | dest_files=["res://.godot/imported/down_right.png-2c25f4ecd26934a8d58aaddb52c5139d.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://06nrrqqpsis" 6 | path="res://.godot/imported/left.png-160d950386e348d9f943649c57605c41.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/left.png" 14 | dest_files=["res://.godot/imported/left.png-160d950386e348d9f943649c57605c41.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cl5futa8fmtlj" 6 | path="res://.godot/imported/right.png-d67f91443e862ceeda52ccf34f9d5528.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/right.png" 14 | dest_files=["res://.godot/imported/right.png-d67f91443e862ceeda52ccf34f9d5528.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/up.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://f2276ssiewg0" 6 | path="res://.godot/imported/up.png-28601a093be6478fb77799bf0ffc488f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/up.png" 14 | dest_files=["res://.godot/imported/up.png-28601a093be6478fb77799bf0ffc488f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/up_left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up_left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cxaxd05kadhwa" 6 | path="res://.godot/imported/up_left.png-8cd1de246f36043600664abb03cf3ed9.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/up_left.png" 14 | dest_files=["res://.godot/imported/up_left.png-8cd1de246f36043600664abb03cf3ed9.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/idle/up_right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/idle/up_right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cd3vqdd3avdgt" 6 | path="res://.godot/imported/up_right.png-af655d0321cf51ee63d1edf76b46c3fc.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/idle/up_right.png" 14 | dest_files=["res://.godot/imported/up_right.png-af655d0321cf51ee63d1edf76b46c3fc.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/down.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bc2riu2x74kwh" 6 | path="res://.godot/imported/down.png-82e14e70c7c0bc5ac622256885f52506.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/down.png" 14 | dest_files=["res://.godot/imported/down.png-82e14e70c7c0bc5ac622256885f52506.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/down_left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down_left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c0f5uqqt7uvlp" 6 | path="res://.godot/imported/down_left.png-68869911ad44311be7eaa8634b561e05.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/down_left.png" 14 | dest_files=["res://.godot/imported/down_left.png-68869911ad44311be7eaa8634b561e05.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/down_right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/down_right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c04jst6u2gdr3" 6 | path="res://.godot/imported/down_right.png-fa4dd209feddcba0bd649c253803dfa2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/down_right.png" 14 | dest_files=["res://.godot/imported/down_right.png-fa4dd209feddcba0bd649c253803dfa2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://djhunxdnslpb8" 6 | path="res://.godot/imported/left.png-4bf3735cfda380547d0c54f4650997f7.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/left.png" 14 | dest_files=["res://.godot/imported/left.png-4bf3735cfda380547d0c54f4650997f7.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://usykoj44qv5s" 6 | path="res://.godot/imported/right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/right.png" 14 | dest_files=["res://.godot/imported/right.png-7d7678e6bf1ad1e3e4a19bde3b4fc49d.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/up.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b07hejwi5wxnb" 6 | path="res://.godot/imported/up.png-2d58139e4a6e5bdfa96507e89eb73636.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/up.png" 14 | dest_files=["res://.godot/imported/up.png-2d58139e4a6e5bdfa96507e89eb73636.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/up_left.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up_left.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cj8gyk4ahyvti" 6 | path="res://.godot/imported/up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/up_left.png" 14 | dest_files=["res://.godot/imported/up_left.png-26b9f281afbf66bda5a9aa76ff70afc6.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/persons/spark/walk/up_right.png -------------------------------------------------------------------------------- /exemplo/2d/assets/persons/spark/walk/up_right.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://byjtxuutj3m13" 6 | path="res://.godot/imported/up_right.png-ca1057a947230b427ffa498740226324.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/persons/spark/walk/up_right.png" 14 | dest_files=["res://.godot/imported/up_right.png-ca1057a947230b427ffa498740226324.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/plane1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/plane1.png -------------------------------------------------------------------------------- /exemplo/2d/assets/plane1.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dpx0wkdw61151" 6 | path="res://.godot/imported/plane1.png-8c4be539cf08cc70cebb40081a574a2e.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/plane1.png" 14 | dest_files=["res://.godot/imported/plane1.png-8c4be539cf08cc70cebb40081a574a2e.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/plane1.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/plane1.png~ -------------------------------------------------------------------------------- /exemplo/2d/assets/point_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/point_off.png -------------------------------------------------------------------------------- /exemplo/2d/assets/point_off.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cnm7utyfu7m5x" 6 | path="res://.godot/imported/point_off.png-0687a517f851ccab04574a184805fa2b.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/point_off.png" 14 | dest_files=["res://.godot/imported/point_off.png-0687a517f851ccab04574a184805fa2b.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/point_off.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/point_off.png~ -------------------------------------------------------------------------------- /exemplo/2d/assets/point_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/point_on.png -------------------------------------------------------------------------------- /exemplo/2d/assets/point_on.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bnchoup8xwnwc" 6 | path="res://.godot/imported/point_on.png-877310b57926dde9104ba57b4fc94a3f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/point_on.png" 14 | dest_files=["res://.godot/imported/point_on.png-877310b57926dde9104ba57b4fc94a3f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/assets/point_on.png~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/point_on.png~ -------------------------------------------------------------------------------- /exemplo/2d/assets/rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/assets/rect.png -------------------------------------------------------------------------------- /exemplo/2d/assets/rect.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bxm88ahkm5au3" 6 | path="res://.godot/imported/rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/rect.png" 14 | dest_files=["res://.godot/imported/rect.png-3d6d2224b55fa1f788eff3aaa703e0e2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=3 uid="uid://7870jw0vda4r"] 2 | 3 | [sub_resource type="Sky" id="1"] 4 | 5 | [resource] 6 | background_mode = 2 7 | sky = SubResource("1") 8 | -------------------------------------------------------------------------------- /exemplo/2d/export_presets.cfg: -------------------------------------------------------------------------------- 1 | [preset.0] 2 | 3 | name="Android" 4 | platform="Android" 5 | runnable=true 6 | dedicated_server=false 7 | custom_features="" 8 | export_filter="all_resources" 9 | include_filter="" 10 | exclude_filter="" 11 | export_path="" 12 | encryption_include_filters="" 13 | encryption_exclude_filters="" 14 | encrypt_pck=false 15 | encrypt_directory=false 16 | script_encryption_key="" 17 | 18 | [preset.0.options] 19 | 20 | custom_template/debug="" 21 | custom_template/release="" 22 | gradle_build/use_gradle_build=false 23 | gradle_build/export_format=0 24 | gradle_build/min_sdk="" 25 | gradle_build/target_sdk="" 26 | architectures/armeabi-v7a=true 27 | architectures/arm64-v8a=true 28 | architectures/x86=false 29 | architectures/x86_64=false 30 | keystore/debug="" 31 | keystore/debug_user="" 32 | keystore/debug_password="" 33 | keystore/release="" 34 | keystore/release_user="" 35 | keystore/release_password="" 36 | version/code=1 37 | version/name="1.0" 38 | package/unique_name="bruno.thiago.godot4analog2d" 39 | package/name="Godot4 Analog 2D" 40 | package/signed=true 41 | package/app_category=2 42 | package/retain_data_on_uninstall=false 43 | package/exclude_from_recents=false 44 | launcher_icons/main_192x192="" 45 | launcher_icons/adaptive_foreground_432x432="" 46 | launcher_icons/adaptive_background_432x432="" 47 | graphics/opengl_debug=false 48 | xr_features/xr_mode=0 49 | xr_features/hand_tracking=0 50 | xr_features/hand_tracking_frequency=0 51 | xr_features/passthrough=0 52 | screen/immersive_mode=true 53 | screen/support_small=true 54 | screen/support_normal=true 55 | screen/support_large=true 56 | screen/support_xlarge=true 57 | user_data_backup/allow=false 58 | command_line/extra_args="" 59 | apk_expansion/enable=false 60 | apk_expansion/SALT="" 61 | apk_expansion/public_key="" 62 | permissions/custom_permissions=PackedStringArray() 63 | permissions/access_checkin_properties=false 64 | permissions/access_coarse_location=false 65 | permissions/access_fine_location=false 66 | permissions/access_location_extra_commands=false 67 | permissions/access_mock_location=false 68 | permissions/access_network_state=false 69 | permissions/access_surface_flinger=false 70 | permissions/access_wifi_state=false 71 | permissions/account_manager=false 72 | permissions/add_voicemail=false 73 | permissions/authenticate_accounts=false 74 | permissions/battery_stats=false 75 | permissions/bind_accessibility_service=false 76 | permissions/bind_appwidget=false 77 | permissions/bind_device_admin=false 78 | permissions/bind_input_method=false 79 | permissions/bind_nfc_service=false 80 | permissions/bind_notification_listener_service=false 81 | permissions/bind_print_service=false 82 | permissions/bind_remoteviews=false 83 | permissions/bind_text_service=false 84 | permissions/bind_vpn_service=false 85 | permissions/bind_wallpaper=false 86 | permissions/bluetooth=false 87 | permissions/bluetooth_admin=false 88 | permissions/bluetooth_privileged=false 89 | permissions/brick=false 90 | permissions/broadcast_package_removed=false 91 | permissions/broadcast_sms=false 92 | permissions/broadcast_sticky=false 93 | permissions/broadcast_wap_push=false 94 | permissions/call_phone=false 95 | permissions/call_privileged=false 96 | permissions/camera=false 97 | permissions/capture_audio_output=false 98 | permissions/capture_secure_video_output=false 99 | permissions/capture_video_output=false 100 | permissions/change_component_enabled_state=false 101 | permissions/change_configuration=false 102 | permissions/change_network_state=false 103 | permissions/change_wifi_multicast_state=false 104 | permissions/change_wifi_state=false 105 | permissions/clear_app_cache=false 106 | permissions/clear_app_user_data=false 107 | permissions/control_location_updates=false 108 | permissions/delete_cache_files=false 109 | permissions/delete_packages=false 110 | permissions/device_power=false 111 | permissions/diagnostic=false 112 | permissions/disable_keyguard=false 113 | permissions/dump=false 114 | permissions/expand_status_bar=false 115 | permissions/factory_test=false 116 | permissions/flashlight=false 117 | permissions/force_back=false 118 | permissions/get_accounts=false 119 | permissions/get_package_size=false 120 | permissions/get_tasks=false 121 | permissions/get_top_activity_info=false 122 | permissions/global_search=false 123 | permissions/hardware_test=false 124 | permissions/inject_events=false 125 | permissions/install_location_provider=false 126 | permissions/install_packages=false 127 | permissions/install_shortcut=false 128 | permissions/internal_system_window=false 129 | permissions/internet=false 130 | permissions/kill_background_processes=false 131 | permissions/location_hardware=false 132 | permissions/manage_accounts=false 133 | permissions/manage_app_tokens=false 134 | permissions/manage_documents=false 135 | permissions/manage_external_storage=false 136 | permissions/master_clear=false 137 | permissions/media_content_control=false 138 | permissions/modify_audio_settings=false 139 | permissions/modify_phone_state=false 140 | permissions/mount_format_filesystems=false 141 | permissions/mount_unmount_filesystems=false 142 | permissions/nfc=false 143 | permissions/persistent_activity=false 144 | permissions/process_outgoing_calls=false 145 | permissions/read_calendar=false 146 | permissions/read_call_log=false 147 | permissions/read_contacts=false 148 | permissions/read_external_storage=false 149 | permissions/read_frame_buffer=false 150 | permissions/read_history_bookmarks=false 151 | permissions/read_input_state=false 152 | permissions/read_logs=false 153 | permissions/read_phone_state=false 154 | permissions/read_profile=false 155 | permissions/read_sms=false 156 | permissions/read_social_stream=false 157 | permissions/read_sync_settings=false 158 | permissions/read_sync_stats=false 159 | permissions/read_user_dictionary=false 160 | permissions/reboot=false 161 | permissions/receive_boot_completed=false 162 | permissions/receive_mms=false 163 | permissions/receive_sms=false 164 | permissions/receive_wap_push=false 165 | permissions/record_audio=false 166 | permissions/reorder_tasks=false 167 | permissions/restart_packages=false 168 | permissions/send_respond_via_message=false 169 | permissions/send_sms=false 170 | permissions/set_activity_watcher=false 171 | permissions/set_alarm=false 172 | permissions/set_always_finish=false 173 | permissions/set_animation_scale=false 174 | permissions/set_debug_app=false 175 | permissions/set_orientation=false 176 | permissions/set_pointer_speed=false 177 | permissions/set_preferred_applications=false 178 | permissions/set_process_limit=false 179 | permissions/set_time=false 180 | permissions/set_time_zone=false 181 | permissions/set_wallpaper=false 182 | permissions/set_wallpaper_hints=false 183 | permissions/signal_persistent_processes=false 184 | permissions/status_bar=false 185 | permissions/subscribed_feeds_read=false 186 | permissions/subscribed_feeds_write=false 187 | permissions/system_alert_window=false 188 | permissions/transmit_ir=false 189 | permissions/uninstall_shortcut=false 190 | permissions/update_device_stats=false 191 | permissions/use_credentials=false 192 | permissions/use_sip=false 193 | permissions/vibrate=false 194 | permissions/wake_lock=false 195 | permissions/write_apn_settings=false 196 | permissions/write_calendar=false 197 | permissions/write_call_log=false 198 | permissions/write_contacts=false 199 | permissions/write_external_storage=false 200 | permissions/write_gservices=false 201 | permissions/write_history_bookmarks=false 202 | permissions/write_profile=false 203 | permissions/write_secure_settings=false 204 | permissions/write_settings=false 205 | permissions/write_sms=false 206 | permissions/write_social_stream=false 207 | permissions/write_sync_settings=false 208 | permissions/write_user_dictionary=false 209 | -------------------------------------------------------------------------------- /exemplo/2d/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thrbr84/godot_analogcontroller/ad93babdb4b3fe54aa8377ffbdd80960fe43de76/exemplo/2d/icon.png -------------------------------------------------------------------------------- /exemplo/2d/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bbyd80fwsshk5" 6 | path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://icon.png" 14 | dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /exemplo/2d/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=5 10 | 11 | [application] 12 | 13 | config/name="Godot4 - Analogic 2D" 14 | run/main_scene="res://scenes/main2d.tscn" 15 | config/features=PackedStringArray("4.0") 16 | config/icon="res://icon.png" 17 | 18 | [display] 19 | 20 | window/size/viewport_width=720 21 | window/size/viewport_height=1280 22 | window/size/window_width_override=360 23 | window/size/window_height_override=640 24 | window/handheld/orientation=1 25 | window/stretch/mode="canvas_items" 26 | window/stretch/aspect="expand" 27 | 28 | [editor_plugins] 29 | 30 | enabled=PackedStringArray("res://addons/analog_controller/plugin.cfg") 31 | 32 | [input_devices] 33 | 34 | pointing/emulate_touch_from_mouse=true 35 | 36 | [rendering] 37 | 38 | textures/vram_compression/import_etc2_astc=true 39 | environment/defaults/default_environment="res://default_env.tres" 40 | quality/driver/driver_name="GLES2" 41 | vram_compression/import_etc=true 42 | -------------------------------------------------------------------------------- /exemplo/2d/scenes/bullet.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://dnrs1ff5kckid"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://c5dhr2anywnuy" path="res://assets/particles.png" id="1"] 4 | [ext_resource type="Script" path="res://scripts/bullet.gd" id="2"] 5 | 6 | [node name="bullet" type="Node2D"] 7 | script = ExtResource("2") 8 | 9 | [node name="image" type="Sprite2D" parent="."] 10 | modulate = Color(0, 0.929412, 1, 1) 11 | position = Vector2(0.170981, 0) 12 | scale = Vector2(0.434109, 1) 13 | texture = ExtResource("1") 14 | offset = Vector2(0.248588, -13.2499) 15 | 16 | [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] 17 | position = Vector2(0, -12) 18 | scale = Vector2(1, 1.68275) 19 | 20 | [connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"] 21 | -------------------------------------------------------------------------------- /exemplo/2d/scenes/main2d.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=19 format=3 uid="uid://c8ab3eyeh3f6v"] 2 | 3 | [ext_resource type="FontFile" uid="uid://b8srntq6kg8pt" path="res://assets/font/PoetsenOne-Regular.ttf" id="1"] 4 | [ext_resource type="Script" path="res://scripts/main.gd" id="2"] 5 | [ext_resource type="Script" path="res://addons/analog_controller/analog.gd" id="3"] 6 | [ext_resource type="Texture2D" uid="uid://cnm7utyfu7m5x" path="res://assets/point_off.png" id="4"] 7 | [ext_resource type="Texture2D" uid="uid://bnchoup8xwnwc" path="res://assets/point_on.png" id="5"] 8 | [ext_resource type="Texture2D" uid="uid://bxm88ahkm5au3" path="res://assets/rect.png" id="6"] 9 | [ext_resource type="Texture2D" uid="uid://c5dhr2anywnuy" path="res://assets/particles.png" id="7"] 10 | [ext_resource type="Texture2D" uid="uid://dpx0wkdw61151" path="res://assets/plane1.png" id="8"] 11 | [ext_resource type="Texture2D" uid="uid://bbyd80fwsshk5" path="res://icon.png" id="9"] 12 | 13 | [sub_resource type="FontFile" id="1"] 14 | fallbacks = Array[Font]([ExtResource("1")]) 15 | face_index = null 16 | embolden = null 17 | transform = null 18 | cache/0/16/0/ascent = 0.0 19 | cache/0/16/0/descent = 0.0 20 | cache/0/16/0/underline_position = 0.0 21 | cache/0/16/0/underline_thickness = 0.0 22 | cache/0/16/0/scale = 1.0 23 | cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) 24 | cache/0/16/0/kerning_overrides/50/0 = Vector2(0, 0) 25 | cache/0/16/0/kerning_overrides/30/0 = Vector2(0, 0) 26 | cache/0/50/0/ascent = 0.0 27 | cache/0/50/0/descent = 0.0 28 | cache/0/50/0/underline_position = 0.0 29 | cache/0/50/0/underline_thickness = 0.0 30 | cache/0/50/0/scale = 1.0 31 | cache/0/50/0/kerning_overrides/16/0 = Vector2(0, 0) 32 | cache/0/50/0/kerning_overrides/50/0 = Vector2(0, 0) 33 | cache/0/50/0/kerning_overrides/30/0 = Vector2(0, 0) 34 | cache/0/30/0/ascent = 0.0 35 | cache/0/30/0/descent = 0.0 36 | cache/0/30/0/underline_position = 0.0 37 | cache/0/30/0/underline_thickness = 0.0 38 | cache/0/30/0/scale = 1.0 39 | cache/0/30/0/kerning_overrides/16/0 = Vector2(0, 0) 40 | cache/0/30/0/kerning_overrides/50/0 = Vector2(0, 0) 41 | cache/0/30/0/kerning_overrides/30/0 = Vector2(0, 0) 42 | 43 | [sub_resource type="LabelSettings" id="LabelSettings_fxyp1"] 44 | font_size = 30 45 | 46 | [sub_resource type="LabelSettings" id="LabelSettings_u4fe4"] 47 | font_size = 30 48 | 49 | [sub_resource type="FontFile" id="2"] 50 | fallbacks = Array[Font]([ExtResource("1")]) 51 | face_index = null 52 | embolden = null 53 | transform = null 54 | cache/0/16/0/ascent = 0.0 55 | cache/0/16/0/descent = 0.0 56 | cache/0/16/0/underline_position = 0.0 57 | cache/0/16/0/underline_thickness = 0.0 58 | cache/0/16/0/scale = 1.0 59 | cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) 60 | cache/0/16/0/kerning_overrides/30/0 = Vector2(0, 0) 61 | cache/0/30/0/ascent = 0.0 62 | cache/0/30/0/descent = 0.0 63 | cache/0/30/0/underline_position = 0.0 64 | cache/0/30/0/underline_thickness = 0.0 65 | cache/0/30/0/scale = 1.0 66 | cache/0/30/0/kerning_overrides/16/0 = Vector2(0, 0) 67 | cache/0/30/0/kerning_overrides/30/0 = Vector2(0, 0) 68 | 69 | [sub_resource type="Curve" id="3"] 70 | _data = [Vector2(0, 1), 0.0, 0.0209908, 0, 0, Vector2(1, 0), -2.96993, 0.0, 0, 0] 71 | point_count = 2 72 | 73 | [sub_resource type="Gradient" id="4"] 74 | offsets = PackedFloat32Array(0.00398406, 1) 75 | colors = PackedColorArray(0.701961, 0.117647, 0.113725, 1, 0.996078, 0.996078, 0.00392157, 0) 76 | 77 | [sub_resource type="Animation" id="5"] 78 | length = 9.5 79 | loop_mode = 1 80 | tracks/0/type = "value" 81 | tracks/0/imported = false 82 | tracks/0/enabled = true 83 | tracks/0/path = NodePath(".:frame") 84 | tracks/0/interp = 1 85 | tracks/0/loop_wrap = true 86 | tracks/0/keys = { 87 | "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.1, 9.2, 9.3, 9.4, 9.5), 88 | "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 89 | "update": 1, 90 | "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96] 91 | } 92 | tracks/1/type = "value" 93 | tracks/1/imported = false 94 | tracks/1/enabled = true 95 | tracks/1/path = NodePath(".:vframes") 96 | tracks/1/interp = 1 97 | tracks/1/loop_wrap = true 98 | tracks/1/keys = { 99 | "times": PackedFloat32Array(0), 100 | "transitions": PackedFloat32Array(1), 101 | "update": 1, 102 | "values": [10] 103 | } 104 | 105 | [sub_resource type="Animation" id="6"] 106 | length = 3.7 107 | loop_mode = 1 108 | tracks/0/type = "value" 109 | tracks/0/imported = false 110 | tracks/0/enabled = true 111 | tracks/0/path = NodePath(".:frame") 112 | tracks/0/interp = 1 113 | tracks/0/loop_wrap = true 114 | tracks/0/keys = { 115 | "times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7), 116 | "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 117 | "update": 1, 118 | "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37] 119 | } 120 | tracks/1/type = "value" 121 | tracks/1/imported = false 122 | tracks/1/enabled = true 123 | tracks/1/path = NodePath(".:vframes") 124 | tracks/1/interp = 1 125 | tracks/1/loop_wrap = true 126 | tracks/1/keys = { 127 | "times": PackedFloat32Array(0), 128 | "transitions": PackedFloat32Array(1), 129 | "update": 1, 130 | "values": [4] 131 | } 132 | 133 | [sub_resource type="AnimationLibrary" id="AnimationLibrary_3x350"] 134 | _data = { 135 | "idle": SubResource("5"), 136 | "walk": SubResource("6") 137 | } 138 | 139 | [node name="main" type="Node2D"] 140 | script = ExtResource("2") 141 | 142 | [node name="bkg" type="ColorRect" parent="."] 143 | offset_right = 720.0 144 | offset_bottom = 300.0 145 | color = Color(0.905882, 0.654902, 0.0823529, 1) 146 | 147 | [node name="icon" type="Sprite2D" parent="bkg"] 148 | position = Vector2(360, 150) 149 | scale = Vector2(0.548463, 0.548463) 150 | texture = ExtResource("9") 151 | 152 | [node name="hbox" type="HBoxContainer" parent="bkg"] 153 | layout_mode = 0 154 | offset_top = 333.0 155 | offset_right = 720.0 156 | offset_bottom = 405.0 157 | theme_override_constants/separation = 20 158 | alignment = 1 159 | 160 | [node name="plane" type="Control" parent="bkg/hbox" groups=["btn"]] 161 | custom_minimum_size = Vector2(247, 72) 162 | layout_mode = 2 163 | 164 | [node name="bkg" type="ColorRect" parent="bkg/hbox/plane"] 165 | layout_mode = 0 166 | offset_right = 247.0 167 | offset_bottom = 72.0 168 | color = Color(0.17, 0.7, 0.02, 1) 169 | 170 | [node name="label" type="Label" parent="bkg/hbox/plane"] 171 | layout_mode = 1 172 | anchors_preset = 15 173 | anchor_right = 1.0 174 | anchor_bottom = 1.0 175 | grow_horizontal = 2 176 | grow_vertical = 2 177 | theme_override_colors/font_shadow_color = Color(0.289062, 0.147983, 0.0338745, 1) 178 | theme_override_constants/shadow_offset_x = 2 179 | theme_override_constants/shadow_offset_y = 2 180 | theme_override_fonts/font = SubResource("1") 181 | text = "Plane" 182 | label_settings = SubResource("LabelSettings_fxyp1") 183 | horizontal_alignment = 1 184 | vertical_alignment = 1 185 | 186 | [node name="action" type="TouchScreenButton" parent="bkg/hbox/plane"] 187 | self_modulate = Color(1, 1, 1, 0) 188 | scale = Vector2(7.66762, 2.20823) 189 | texture_normal = ExtResource("6") 190 | 191 | [node name="spark" type="Control" parent="bkg/hbox" groups=["btn"]] 192 | custom_minimum_size = Vector2(247, 72) 193 | layout_mode = 2 194 | 195 | [node name="bkg" type="ColorRect" parent="bkg/hbox/spark"] 196 | layout_mode = 0 197 | offset_right = 247.0 198 | offset_bottom = 72.0 199 | color = Color(0.546875, 0.277894, 0.0619507, 1) 200 | 201 | [node name="label" type="Label" parent="bkg/hbox/spark"] 202 | layout_mode = 1 203 | anchors_preset = 15 204 | anchor_right = 1.0 205 | anchor_bottom = 1.0 206 | grow_horizontal = 2 207 | grow_vertical = 2 208 | theme_override_colors/font_shadow_color = Color(0.289062, 0.147983, 0.0338745, 1) 209 | theme_override_constants/shadow_offset_x = 2 210 | theme_override_constants/shadow_offset_y = 2 211 | theme_override_fonts/font = SubResource("1") 212 | text = "Spark" 213 | label_settings = SubResource("LabelSettings_u4fe4") 214 | horizontal_alignment = 1 215 | vertical_alignment = 1 216 | 217 | [node name="action" type="TouchScreenButton" parent="bkg/hbox/spark"] 218 | self_modulate = Color(1, 1, 1, 0) 219 | scale = Vector2(7.66762, 2.20823) 220 | texture_normal = ExtResource("6") 221 | 222 | [node name="dynamicController" type="CheckButton" parent="."] 223 | offset_left = 161.0 224 | offset_top = 428.0 225 | offset_right = 520.0 226 | offset_bottom = 486.0 227 | focus_mode = 0 228 | theme_override_fonts/font = SubResource("2") 229 | theme_override_font_sizes/font_size = 30 230 | theme_override_icons/checked = ExtResource("5") 231 | theme_override_icons/unchecked = ExtResource("4") 232 | shortcut_in_tooltip = false 233 | text = "Dynamic" 234 | 235 | [node name="CanvasLayerUI" type="CanvasLayer" parent="."] 236 | 237 | [node name="AnalogController" type="Node2D" parent="CanvasLayerUI"] 238 | position = Vector2(360, 1148) 239 | script = ExtResource("3") 240 | 241 | [node name="players" type="Node2D" parent="."] 242 | z_index = 2 243 | position = Vector2(0, 744) 244 | 245 | [node name="plane" type="Sprite2D" parent="players" groups=["plane", "player"]] 246 | position = Vector2(360, 0) 247 | scale = Vector2(0.713328, 0.713328) 248 | texture = ExtResource("8") 249 | 250 | [node name="particles_l" type="CPUParticles2D" parent="players/plane"] 251 | z_index = -1 252 | position = Vector2(-17.6973, 109.717) 253 | lifetime = 0.5 254 | speed_scale = 3.0 255 | texture = ExtResource("7") 256 | emission_shape = 1 257 | emission_sphere_radius = 1.0 258 | scale_amount_curve = SubResource("3") 259 | color_ramp = SubResource("4") 260 | 261 | [node name="particles_r" type="CPUParticles2D" parent="players/plane"] 262 | z_index = -1 263 | position = Vector2(22.9572, 109.717) 264 | lifetime = 0.5 265 | speed_scale = 3.0 266 | texture = ExtResource("7") 267 | emission_shape = 1 268 | emission_sphere_radius = 1.0 269 | scale_amount_curve = SubResource("3") 270 | color_ramp = SubResource("4") 271 | 272 | [node name="shadow" type="Sprite2D" parent="players/plane"] 273 | modulate = Color(0, 0, 0, 0.0941176) 274 | z_index = -1 275 | position = Vector2(-9.81757, 232.742) 276 | scale = Vector2(0.508198, 0.508198) 277 | texture = ExtResource("8") 278 | 279 | [node name="shoot" type="Marker2D" parent="players/plane"] 280 | position = Vector2(3.27017, -130.807) 281 | 282 | [node name="spark" type="Sprite2D" parent="players" groups=["human", "player"]] 283 | position = Vector2(359.68, 0) 284 | scale = Vector2(1.5, 1.5) 285 | offset = Vector2(0, -35) 286 | hframes = 10 287 | vframes = 10 288 | frame = 1 289 | 290 | [node name="anim" type="AnimationPlayer" parent="players/spark"] 291 | autoplay = "idle" 292 | libraries = { 293 | "": SubResource("AnimationLibrary_3x350") 294 | } 295 | 296 | [node name="shadow" type="Sprite2D" parent="players/spark"] 297 | modulate = Color(0, 0, 0, 0.12549) 298 | z_index = -1 299 | position = Vector2(0, -3.30916) 300 | scale = Vector2(2.68994, 1.84609) 301 | texture = ExtResource("7") 302 | 303 | [connection signal="toggled" from="dynamicController" to="." method="_on_dynamicController_toggled"] 304 | [connection signal="analogChange" from="CanvasLayerUI/AnalogController" to="." method="_on_AnalogController_analogChange"] 305 | [connection signal="analogRelease" from="CanvasLayerUI/AnalogController" to="." method="_on_AnalogController_analogRelease"] 306 | -------------------------------------------------------------------------------- /exemplo/2d/scripts/bullet.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | func _physics_process(_delta): 4 | global_position.y -= 50 5 | 6 | func _on_VisibilityNotifier2D_screen_exited(): 7 | queue_free() 8 | -------------------------------------------------------------------------------- /exemplo/2d/scripts/main.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | @onready var AnalogController = $CanvasLayerUI/AnalogController 4 | @onready var players = $players 5 | @onready var plane_shoot = $players/plane/shoot 6 | @onready var spark_anim = $players/spark/anim 7 | 8 | var bullet = preload("res://scenes/bullet.tscn") 9 | var speed = 10 10 | var velocity = Vector2.ZERO 11 | var player = null 12 | var sparkPathAnim = "res://assets/persons/spark/[ACTION]/[DIR].png" 13 | var planePathAnim = "res://assets/plane1.png" 14 | 15 | var colorOff = Color(.55, .28, .06, 1) 16 | var colorOn = Color(.17, .70, .02, 1) 17 | var direction = "down" 18 | var cacheTexture = {} 19 | 20 | func _on_AnalogController_analogChange(force, pos): 21 | if pos is String: 22 | velocity = (force) * (2 * player.scale) 23 | _movement_human(force, pos) 24 | 25 | else: 26 | velocity = (pos * force) * speed 27 | 28 | func _on_AnalogController_analogRelease(): 29 | velocity = Vector2.ZERO 30 | _load_player_texture("idle", direction) 31 | 32 | """ 33 | BASIC EXAMPLE ------------------------- 34 | """ 35 | 36 | func _ready(): 37 | _pre_cache() 38 | var idx = 0 39 | for options in get_tree().get_nodes_in_group("btn"): 40 | var tsb: TouchScreenButton = options.get_node("action") 41 | tsb.pressed.connect(_on_player_select.bind(options.name)) 42 | 43 | if idx == 0: 44 | _on_player_select(options.name) 45 | pass 46 | idx += 1 47 | 48 | 49 | 50 | func _physics_process(_delta): 51 | if weakref(player).get_ref(): 52 | player.position += velocity 53 | 54 | func _shoot(): 55 | if weakref(player).get_ref(): 56 | if player.is_in_group("plane"): 57 | var b = bullet.instantiate() 58 | b.global_position = plane_shoot.global_position 59 | get_tree().get_root().call_deferred("add_child", b) 60 | 61 | func _input(event): 62 | if event.is_action_pressed("ui_accept"): 63 | _shoot() 64 | 65 | if event is InputEventScreenTouch: 66 | if event.index == 1: 67 | _shoot() 68 | 69 | func _on_player_select(player_option): 70 | player = null 71 | 72 | for options in get_tree().get_nodes_in_group("btn"): 73 | options.get_node("bkg").color = colorOff 74 | if options.name == str(player_option): 75 | options.get_node("bkg").color = colorOn 76 | 77 | for players in get_tree().get_nodes_in_group("player"): 78 | players.hide() 79 | 80 | if players.has_node(str(player_option)): 81 | player = players.get_node(str(player_option)) 82 | player.show() 83 | 84 | if player.is_in_group("human"): 85 | AnalogController.typeAnalogic = AnalogController.typesAnalog.DIRECTION_8 86 | _load_player_texture("idle", direction) 87 | else: 88 | AnalogController.typeAnalogic = AnalogController.typesAnalog.DIRECTION_360 89 | 90 | func _load_player_texture(_action = "idle", _dir = "down"): 91 | if player.is_in_group("human"): 92 | var key = str(_action, "_", _dir) 93 | 94 | if player.get_node("anim").current_animation != str(_action): 95 | player.get_node("anim").play(str(_action)) 96 | 97 | if player.texture != cacheTexture[key]: 98 | player.texture = cacheTexture[key] 99 | else: 100 | player.texture = load(planePathAnim) 101 | 102 | func _pre_cache(): 103 | for ac in ['idle', 'walk']: 104 | for dr in ['right', 'down_right', 'up_right', 'left', 'down_left', 'up_left', 'up', 'down']: 105 | var texturePath = sparkPathAnim 106 | texturePath = texturePath.replace("[ACTION]", ac) 107 | texturePath = texturePath.replace("[DIR]", dr) 108 | 109 | var key = str(ac, "_", dr) 110 | if !cacheTexture.has(key): 111 | cacheTexture[key] = load(texturePath) 112 | 113 | func _movement_human(force, pos): 114 | direction = pos 115 | _load_player_texture("walk", direction) 116 | 117 | if player.is_in_group("human"): 118 | var speedWalk = 5.0 * force.length() 119 | spark_anim.speed_scale = speedWalk 120 | 121 | func _on_dynamicController_toggled(button_pressed): 122 | AnalogController.isDynamicallyShowing = button_pressed 123 | AnalogController._configAnalog() 124 | --------------------------------------------------------------------------------