diff --git a/.gitmodules b/.gitmodules index 6cadbdf2..28138c65 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "projects/godot-squash-the-creeps-3d/addons/haxe"] - path = projects/godot-squash-the-creeps-3d/addons/haxe +[submodule "projects/_deprecated/godot-squash-the-creeps-3d/addons/haxe"] + path = projects/_deprecated/godot-squash-the-creeps-3d/addons/haxe url = https://github.com/HaxeGodot/editor-plugin.git -[submodule "projects/nat-godot-playground/addons/haxe"] - path = projects/nat-godot-playground/addons/haxe +[submodule "projects/_standalone/nat-godot-playground/addons/haxe"] + path = projects/_standalone/nat-godot-playground/addons/haxe url = https://github.com/HaxeGodot/editor-plugin.git diff --git a/projects/aoc/build.hxml b/projects/_standalone/aoc/build.hxml similarity index 100% rename from projects/aoc/build.hxml rename to projects/_standalone/aoc/build.hxml diff --git a/projects/aoc/src/Main.hx b/projects/_standalone/aoc/src/Main.hx similarity index 100% rename from projects/aoc/src/Main.hx rename to projects/_standalone/aoc/src/Main.hx diff --git a/projects/aoc/src/Main_.kiss b/projects/_standalone/aoc/src/Main_.kiss similarity index 100% rename from projects/aoc/src/Main_.kiss rename to projects/_standalone/aoc/src/Main_.kiss diff --git a/projects/aoc/src/Util.hx b/projects/_standalone/aoc/src/Util.hx similarity index 100% rename from projects/aoc/src/Util.hx rename to projects/_standalone/aoc/src/Util.hx diff --git a/projects/aoc/src/Util.kiss b/projects/_standalone/aoc/src/Util.kiss similarity index 100% rename from projects/aoc/src/Util.kiss rename to projects/_standalone/aoc/src/Util.kiss diff --git a/projects/aoc/src/UtilMacros.kiss b/projects/_standalone/aoc/src/UtilMacros.kiss similarity index 100% rename from projects/aoc/src/UtilMacros.kiss rename to projects/_standalone/aoc/src/UtilMacros.kiss diff --git a/projects/aoc/src/year2018/Solutions2018.hx b/projects/_standalone/aoc/src/year2018/Solutions2018.hx similarity index 100% rename from projects/aoc/src/year2018/Solutions2018.hx rename to projects/_standalone/aoc/src/year2018/Solutions2018.hx diff --git a/projects/aoc/src/year2018/Solutions2018.kiss b/projects/_standalone/aoc/src/year2018/Solutions2018.kiss similarity index 100% rename from projects/aoc/src/year2018/Solutions2018.kiss rename to projects/_standalone/aoc/src/year2018/Solutions2018.kiss diff --git a/projects/aoc/src/year2018/inputs/day1.txt b/projects/_standalone/aoc/src/year2018/inputs/day1.txt similarity index 100% rename from projects/aoc/src/year2018/inputs/day1.txt rename to projects/_standalone/aoc/src/year2018/inputs/day1.txt diff --git a/projects/aoc/src/year2020/Adapters.hx b/projects/_standalone/aoc/src/year2020/Adapters.hx similarity index 100% rename from projects/aoc/src/year2020/Adapters.hx rename to projects/_standalone/aoc/src/year2020/Adapters.hx diff --git a/projects/aoc/src/year2020/Adapters.kiss b/projects/_standalone/aoc/src/year2020/Adapters.kiss similarity index 100% rename from projects/aoc/src/year2020/Adapters.kiss rename to projects/_standalone/aoc/src/year2020/Adapters.kiss diff --git a/projects/aoc/src/year2020/Bags.hx b/projects/_standalone/aoc/src/year2020/Bags.hx similarity index 100% rename from projects/aoc/src/year2020/Bags.hx rename to projects/_standalone/aoc/src/year2020/Bags.hx diff --git a/projects/aoc/src/year2020/Bags.kiss b/projects/_standalone/aoc/src/year2020/Bags.kiss similarity index 100% rename from projects/aoc/src/year2020/Bags.kiss rename to projects/_standalone/aoc/src/year2020/Bags.kiss diff --git a/projects/aoc/src/year2020/BootCode.hx b/projects/_standalone/aoc/src/year2020/BootCode.hx similarity index 100% rename from projects/aoc/src/year2020/BootCode.hx rename to projects/_standalone/aoc/src/year2020/BootCode.hx diff --git a/projects/aoc/src/year2020/BootCodeCommon.kiss b/projects/_standalone/aoc/src/year2020/BootCodeCommon.kiss similarity index 100% rename from projects/aoc/src/year2020/BootCodeCommon.kiss rename to projects/_standalone/aoc/src/year2020/BootCodeCommon.kiss diff --git a/projects/aoc/src/year2020/BootCodeDSL.kiss b/projects/_standalone/aoc/src/year2020/BootCodeDSL.kiss similarity index 100% rename from projects/aoc/src/year2020/BootCodeDSL.kiss rename to projects/_standalone/aoc/src/year2020/BootCodeDSL.kiss diff --git a/projects/aoc/src/year2020/BootCodeFixDSL.kiss b/projects/_standalone/aoc/src/year2020/BootCodeFixDSL.kiss similarity index 100% rename from projects/aoc/src/year2020/BootCodeFixDSL.kiss rename to projects/_standalone/aoc/src/year2020/BootCodeFixDSL.kiss diff --git a/projects/aoc/src/year2020/Customs.hx b/projects/_standalone/aoc/src/year2020/Customs.hx similarity index 100% rename from projects/aoc/src/year2020/Customs.hx rename to projects/_standalone/aoc/src/year2020/Customs.hx diff --git a/projects/aoc/src/year2020/Customs.kiss b/projects/_standalone/aoc/src/year2020/Customs.kiss similarity index 100% rename from projects/aoc/src/year2020/Customs.kiss rename to projects/_standalone/aoc/src/year2020/Customs.kiss diff --git a/projects/aoc/src/year2020/Evasion.hx b/projects/_standalone/aoc/src/year2020/Evasion.hx similarity index 100% rename from projects/aoc/src/year2020/Evasion.hx rename to projects/_standalone/aoc/src/year2020/Evasion.hx diff --git a/projects/aoc/src/year2020/EvasionDSL.kiss b/projects/_standalone/aoc/src/year2020/EvasionDSL.kiss similarity index 100% rename from projects/aoc/src/year2020/EvasionDSL.kiss rename to projects/_standalone/aoc/src/year2020/EvasionDSL.kiss diff --git a/projects/aoc/src/year2020/FerrySim.hx b/projects/_standalone/aoc/src/year2020/FerrySim.hx similarity index 100% rename from projects/aoc/src/year2020/FerrySim.hx rename to projects/_standalone/aoc/src/year2020/FerrySim.hx diff --git a/projects/aoc/src/year2020/FerrySimDSL.kiss b/projects/_standalone/aoc/src/year2020/FerrySimDSL.kiss similarity index 100% rename from projects/aoc/src/year2020/FerrySimDSL.kiss rename to projects/_standalone/aoc/src/year2020/FerrySimDSL.kiss diff --git a/projects/aoc/src/year2020/Passports.hx b/projects/_standalone/aoc/src/year2020/Passports.hx similarity index 100% rename from projects/aoc/src/year2020/Passports.hx rename to projects/_standalone/aoc/src/year2020/Passports.hx diff --git a/projects/aoc/src/year2020/Passports.kiss b/projects/_standalone/aoc/src/year2020/Passports.kiss similarity index 100% rename from projects/aoc/src/year2020/Passports.kiss rename to projects/_standalone/aoc/src/year2020/Passports.kiss diff --git a/projects/aoc/src/year2020/Passwords.hx b/projects/_standalone/aoc/src/year2020/Passwords.hx similarity index 100% rename from projects/aoc/src/year2020/Passwords.hx rename to projects/_standalone/aoc/src/year2020/Passwords.hx diff --git a/projects/aoc/src/year2020/Passwords.kiss b/projects/_standalone/aoc/src/year2020/Passwords.kiss similarity index 100% rename from projects/aoc/src/year2020/Passwords.kiss rename to projects/_standalone/aoc/src/year2020/Passwords.kiss diff --git a/projects/aoc/src/year2020/Seating.hx b/projects/_standalone/aoc/src/year2020/Seating.hx similarity index 100% rename from projects/aoc/src/year2020/Seating.hx rename to projects/_standalone/aoc/src/year2020/Seating.hx diff --git a/projects/aoc/src/year2020/Seating.kiss b/projects/_standalone/aoc/src/year2020/Seating.kiss similarity index 100% rename from projects/aoc/src/year2020/Seating.kiss rename to projects/_standalone/aoc/src/year2020/Seating.kiss diff --git a/projects/aoc/src/year2020/Solutions2020.hx b/projects/_standalone/aoc/src/year2020/Solutions2020.hx similarity index 100% rename from projects/aoc/src/year2020/Solutions2020.hx rename to projects/_standalone/aoc/src/year2020/Solutions2020.hx diff --git a/projects/aoc/src/year2020/Solutions2020.kiss b/projects/_standalone/aoc/src/year2020/Solutions2020.kiss similarity index 100% rename from projects/aoc/src/year2020/Solutions2020.kiss rename to projects/_standalone/aoc/src/year2020/Solutions2020.kiss diff --git a/projects/aoc/src/year2020/SummingTuples.hx b/projects/_standalone/aoc/src/year2020/SummingTuples.hx similarity index 100% rename from projects/aoc/src/year2020/SummingTuples.hx rename to projects/_standalone/aoc/src/year2020/SummingTuples.hx diff --git a/projects/aoc/src/year2020/SummingTuples.kiss b/projects/_standalone/aoc/src/year2020/SummingTuples.kiss similarity index 100% rename from projects/aoc/src/year2020/SummingTuples.kiss rename to projects/_standalone/aoc/src/year2020/SummingTuples.kiss diff --git a/projects/aoc/src/year2020/Toboggan.hx b/projects/_standalone/aoc/src/year2020/Toboggan.hx similarity index 100% rename from projects/aoc/src/year2020/Toboggan.hx rename to projects/_standalone/aoc/src/year2020/Toboggan.hx diff --git a/projects/aoc/src/year2020/Toboggan.kiss b/projects/_standalone/aoc/src/year2020/Toboggan.kiss similarity index 100% rename from projects/aoc/src/year2020/Toboggan.kiss rename to projects/_standalone/aoc/src/year2020/Toboggan.kiss diff --git a/projects/aoc/src/year2020/XMAS.hx b/projects/_standalone/aoc/src/year2020/XMAS.hx similarity index 100% rename from projects/aoc/src/year2020/XMAS.hx rename to projects/_standalone/aoc/src/year2020/XMAS.hx diff --git a/projects/aoc/src/year2020/XMAS.kiss b/projects/_standalone/aoc/src/year2020/XMAS.kiss similarity index 100% rename from projects/aoc/src/year2020/XMAS.kiss rename to projects/_standalone/aoc/src/year2020/XMAS.kiss diff --git a/projects/aoc/src/year2020/inputs/day1-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day1-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day1-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day1-1.txt diff --git a/projects/aoc/src/year2020/inputs/day10.txt b/projects/_standalone/aoc/src/year2020/inputs/day10.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day10.txt rename to projects/_standalone/aoc/src/year2020/inputs/day10.txt diff --git a/projects/aoc/src/year2020/inputs/day11-example.txt b/projects/_standalone/aoc/src/year2020/inputs/day11-example.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day11-example.txt rename to projects/_standalone/aoc/src/year2020/inputs/day11-example.txt diff --git a/projects/aoc/src/year2020/inputs/day11.txt b/projects/_standalone/aoc/src/year2020/inputs/day11.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day11.txt rename to projects/_standalone/aoc/src/year2020/inputs/day11.txt diff --git a/projects/aoc/src/year2020/inputs/day12.txt b/projects/_standalone/aoc/src/year2020/inputs/day12.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day12.txt rename to projects/_standalone/aoc/src/year2020/inputs/day12.txt diff --git a/projects/aoc/src/year2020/inputs/day2-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day2-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day2-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day2-1.txt diff --git a/projects/aoc/src/year2020/inputs/day3-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day3-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day3-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day3-1.txt diff --git a/projects/aoc/src/year2020/inputs/day4-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day4-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day4-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day4-1.txt diff --git a/projects/aoc/src/year2020/inputs/day4-example.txt b/projects/_standalone/aoc/src/year2020/inputs/day4-example.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day4-example.txt rename to projects/_standalone/aoc/src/year2020/inputs/day4-example.txt diff --git a/projects/aoc/src/year2020/inputs/day5-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day5-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day5-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day5-1.txt diff --git a/projects/aoc/src/year2020/inputs/day6-1.txt b/projects/_standalone/aoc/src/year2020/inputs/day6-1.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day6-1.txt rename to projects/_standalone/aoc/src/year2020/inputs/day6-1.txt diff --git a/projects/aoc/src/year2020/inputs/day6-example2.txt b/projects/_standalone/aoc/src/year2020/inputs/day6-example2.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day6-example2.txt rename to projects/_standalone/aoc/src/year2020/inputs/day6-example2.txt diff --git a/projects/aoc/src/year2020/inputs/day7.txt b/projects/_standalone/aoc/src/year2020/inputs/day7.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day7.txt rename to projects/_standalone/aoc/src/year2020/inputs/day7.txt diff --git a/projects/aoc/src/year2020/inputs/day8-example.txt b/projects/_standalone/aoc/src/year2020/inputs/day8-example.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day8-example.txt rename to projects/_standalone/aoc/src/year2020/inputs/day8-example.txt diff --git a/projects/aoc/src/year2020/inputs/day8.txt b/projects/_standalone/aoc/src/year2020/inputs/day8.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day8.txt rename to projects/_standalone/aoc/src/year2020/inputs/day8.txt diff --git a/projects/aoc/src/year2020/inputs/day9.txt b/projects/_standalone/aoc/src/year2020/inputs/day9.txt similarity index 100% rename from projects/aoc/src/year2020/inputs/day9.txt rename to projects/_standalone/aoc/src/year2020/inputs/day9.txt diff --git a/projects/aoc/src/year2021/Day10.hx b/projects/_standalone/aoc/src/year2021/Day10.hx similarity index 100% rename from projects/aoc/src/year2021/Day10.hx rename to projects/_standalone/aoc/src/year2021/Day10.hx diff --git a/projects/aoc/src/year2021/Day4.hx b/projects/_standalone/aoc/src/year2021/Day4.hx similarity index 100% rename from projects/aoc/src/year2021/Day4.hx rename to projects/_standalone/aoc/src/year2021/Day4.hx diff --git a/projects/aoc/src/year2021/Day5.hx b/projects/_standalone/aoc/src/year2021/Day5.hx similarity index 100% rename from projects/aoc/src/year2021/Day5.hx rename to projects/_standalone/aoc/src/year2021/Day5.hx diff --git a/projects/aoc/src/year2021/Solutions2021.hx b/projects/_standalone/aoc/src/year2021/Solutions2021.hx similarity index 100% rename from projects/aoc/src/year2021/Solutions2021.hx rename to projects/_standalone/aoc/src/year2021/Solutions2021.hx diff --git a/projects/aoc/src/year2021/Solutions2021.kiss b/projects/_standalone/aoc/src/year2021/Solutions2021.kiss similarity index 100% rename from projects/aoc/src/year2021/Solutions2021.kiss rename to projects/_standalone/aoc/src/year2021/Solutions2021.kiss diff --git a/projects/aoc/src/year2021/day1.kiss b/projects/_standalone/aoc/src/year2021/day1.kiss similarity index 100% rename from projects/aoc/src/year2021/day1.kiss rename to projects/_standalone/aoc/src/year2021/day1.kiss diff --git a/projects/aoc/src/year2021/day10.kiss b/projects/_standalone/aoc/src/year2021/day10.kiss similarity index 100% rename from projects/aoc/src/year2021/day10.kiss rename to projects/_standalone/aoc/src/year2021/day10.kiss diff --git a/projects/aoc/src/year2021/day11.kiss b/projects/_standalone/aoc/src/year2021/day11.kiss similarity index 100% rename from projects/aoc/src/year2021/day11.kiss rename to projects/_standalone/aoc/src/year2021/day11.kiss diff --git a/projects/aoc/src/year2021/day12.kiss b/projects/_standalone/aoc/src/year2021/day12.kiss similarity index 100% rename from projects/aoc/src/year2021/day12.kiss rename to projects/_standalone/aoc/src/year2021/day12.kiss diff --git a/projects/aoc/src/year2021/day2.kiss b/projects/_standalone/aoc/src/year2021/day2.kiss similarity index 100% rename from projects/aoc/src/year2021/day2.kiss rename to projects/_standalone/aoc/src/year2021/day2.kiss diff --git a/projects/aoc/src/year2021/day3.kiss b/projects/_standalone/aoc/src/year2021/day3.kiss similarity index 100% rename from projects/aoc/src/year2021/day3.kiss rename to projects/_standalone/aoc/src/year2021/day3.kiss diff --git a/projects/aoc/src/year2021/day4.kiss b/projects/_standalone/aoc/src/year2021/day4.kiss similarity index 100% rename from projects/aoc/src/year2021/day4.kiss rename to projects/_standalone/aoc/src/year2021/day4.kiss diff --git a/projects/aoc/src/year2021/day5.kiss b/projects/_standalone/aoc/src/year2021/day5.kiss similarity index 100% rename from projects/aoc/src/year2021/day5.kiss rename to projects/_standalone/aoc/src/year2021/day5.kiss diff --git a/projects/aoc/src/year2021/day6.kiss b/projects/_standalone/aoc/src/year2021/day6.kiss similarity index 100% rename from projects/aoc/src/year2021/day6.kiss rename to projects/_standalone/aoc/src/year2021/day6.kiss diff --git a/projects/aoc/src/year2021/day7.kiss b/projects/_standalone/aoc/src/year2021/day7.kiss similarity index 100% rename from projects/aoc/src/year2021/day7.kiss rename to projects/_standalone/aoc/src/year2021/day7.kiss diff --git a/projects/aoc/src/year2021/day9.kiss b/projects/_standalone/aoc/src/year2021/day9.kiss similarity index 100% rename from projects/aoc/src/year2021/day9.kiss rename to projects/_standalone/aoc/src/year2021/day9.kiss diff --git a/projects/aoc/src/year2021/inputs/day1.txt b/projects/_standalone/aoc/src/year2021/inputs/day1.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day1.txt rename to projects/_standalone/aoc/src/year2021/inputs/day1.txt diff --git a/projects/aoc/src/year2021/inputs/day10-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day10-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day10-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day10-example.txt diff --git a/projects/aoc/src/year2021/inputs/day10.txt b/projects/_standalone/aoc/src/year2021/inputs/day10.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day10.txt rename to projects/_standalone/aoc/src/year2021/inputs/day10.txt diff --git a/projects/aoc/src/year2021/inputs/day11-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day11-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day11-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day11-example.txt diff --git a/projects/aoc/src/year2021/inputs/day11.txt b/projects/_standalone/aoc/src/year2021/inputs/day11.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day11.txt rename to projects/_standalone/aoc/src/year2021/inputs/day11.txt diff --git a/projects/aoc/src/year2021/inputs/day12-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day12-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day12-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day12-example.txt diff --git a/projects/aoc/src/year2021/inputs/day12.txt b/projects/_standalone/aoc/src/year2021/inputs/day12.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day12.txt rename to projects/_standalone/aoc/src/year2021/inputs/day12.txt diff --git a/projects/aoc/src/year2021/inputs/day2.txt b/projects/_standalone/aoc/src/year2021/inputs/day2.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day2.txt rename to projects/_standalone/aoc/src/year2021/inputs/day2.txt diff --git a/projects/aoc/src/year2021/inputs/day3.txt b/projects/_standalone/aoc/src/year2021/inputs/day3.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day3.txt rename to projects/_standalone/aoc/src/year2021/inputs/day3.txt diff --git a/projects/aoc/src/year2021/inputs/day4-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day4-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day4-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day4-example.txt diff --git a/projects/aoc/src/year2021/inputs/day4.txt b/projects/_standalone/aoc/src/year2021/inputs/day4.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day4.txt rename to projects/_standalone/aoc/src/year2021/inputs/day4.txt diff --git a/projects/aoc/src/year2021/inputs/day5-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day5-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day5-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day5-example.txt diff --git a/projects/aoc/src/year2021/inputs/day5.txt b/projects/_standalone/aoc/src/year2021/inputs/day5.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day5.txt rename to projects/_standalone/aoc/src/year2021/inputs/day5.txt diff --git a/projects/aoc/src/year2021/inputs/day6-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day6-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day6-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day6-example.txt diff --git a/projects/aoc/src/year2021/inputs/day6.txt b/projects/_standalone/aoc/src/year2021/inputs/day6.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day6.txt rename to projects/_standalone/aoc/src/year2021/inputs/day6.txt diff --git a/projects/aoc/src/year2021/inputs/day7-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day7-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day7-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day7-example.txt diff --git a/projects/aoc/src/year2021/inputs/day7.txt b/projects/_standalone/aoc/src/year2021/inputs/day7.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day7.txt rename to projects/_standalone/aoc/src/year2021/inputs/day7.txt diff --git a/projects/aoc/src/year2021/inputs/day9-example.txt b/projects/_standalone/aoc/src/year2021/inputs/day9-example.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day9-example.txt rename to projects/_standalone/aoc/src/year2021/inputs/day9-example.txt diff --git a/projects/aoc/src/year2021/inputs/day9.txt b/projects/_standalone/aoc/src/year2021/inputs/day9.txt similarity index 100% rename from projects/aoc/src/year2021/inputs/day9.txt rename to projects/_standalone/aoc/src/year2021/inputs/day9.txt diff --git a/projects/aoc/src/year2022/Day1.kiss b/projects/_standalone/aoc/src/year2022/Day1.kiss similarity index 100% rename from projects/aoc/src/year2022/Day1.kiss rename to projects/_standalone/aoc/src/year2022/Day1.kiss diff --git a/projects/aoc/src/year2022/Day10.kiss b/projects/_standalone/aoc/src/year2022/Day10.kiss similarity index 100% rename from projects/aoc/src/year2022/Day10.kiss rename to projects/_standalone/aoc/src/year2022/Day10.kiss diff --git a/projects/aoc/src/year2022/Day11.kiss b/projects/_standalone/aoc/src/year2022/Day11.kiss similarity index 100% rename from projects/aoc/src/year2022/Day11.kiss rename to projects/_standalone/aoc/src/year2022/Day11.kiss diff --git a/projects/aoc/src/year2022/Day13.kiss b/projects/_standalone/aoc/src/year2022/Day13.kiss similarity index 100% rename from projects/aoc/src/year2022/Day13.kiss rename to projects/_standalone/aoc/src/year2022/Day13.kiss diff --git a/projects/aoc/src/year2022/Day2.kiss b/projects/_standalone/aoc/src/year2022/Day2.kiss similarity index 100% rename from projects/aoc/src/year2022/Day2.kiss rename to projects/_standalone/aoc/src/year2022/Day2.kiss diff --git a/projects/aoc/src/year2022/Day3.kiss b/projects/_standalone/aoc/src/year2022/Day3.kiss similarity index 100% rename from projects/aoc/src/year2022/Day3.kiss rename to projects/_standalone/aoc/src/year2022/Day3.kiss diff --git a/projects/aoc/src/year2022/Day4.kiss b/projects/_standalone/aoc/src/year2022/Day4.kiss similarity index 100% rename from projects/aoc/src/year2022/Day4.kiss rename to projects/_standalone/aoc/src/year2022/Day4.kiss diff --git a/projects/aoc/src/year2022/Day5.kiss b/projects/_standalone/aoc/src/year2022/Day5.kiss similarity index 100% rename from projects/aoc/src/year2022/Day5.kiss rename to projects/_standalone/aoc/src/year2022/Day5.kiss diff --git a/projects/aoc/src/year2022/Day6.kiss b/projects/_standalone/aoc/src/year2022/Day6.kiss similarity index 100% rename from projects/aoc/src/year2022/Day6.kiss rename to projects/_standalone/aoc/src/year2022/Day6.kiss diff --git a/projects/aoc/src/year2022/Day7.kiss b/projects/_standalone/aoc/src/year2022/Day7.kiss similarity index 100% rename from projects/aoc/src/year2022/Day7.kiss rename to projects/_standalone/aoc/src/year2022/Day7.kiss diff --git a/projects/aoc/src/year2022/Day8.kiss b/projects/_standalone/aoc/src/year2022/Day8.kiss similarity index 100% rename from projects/aoc/src/year2022/Day8.kiss rename to projects/_standalone/aoc/src/year2022/Day8.kiss diff --git a/projects/aoc/src/year2022/FileSystem.hx b/projects/_standalone/aoc/src/year2022/FileSystem.hx similarity index 100% rename from projects/aoc/src/year2022/FileSystem.hx rename to projects/_standalone/aoc/src/year2022/FileSystem.hx diff --git a/projects/aoc/src/year2022/Food.hx b/projects/_standalone/aoc/src/year2022/Food.hx similarity index 100% rename from projects/aoc/src/year2022/Food.hx rename to projects/_standalone/aoc/src/year2022/Food.hx diff --git a/projects/aoc/src/year2022/ListOrdering.hx b/projects/_standalone/aoc/src/year2022/ListOrdering.hx similarity index 100% rename from projects/aoc/src/year2022/ListOrdering.hx rename to projects/_standalone/aoc/src/year2022/ListOrdering.hx diff --git a/projects/aoc/src/year2022/Monkey.hx b/projects/_standalone/aoc/src/year2022/Monkey.hx similarity index 100% rename from projects/aoc/src/year2022/Monkey.hx rename to projects/_standalone/aoc/src/year2022/Monkey.hx diff --git a/projects/aoc/src/year2022/MonkeyDSL.kiss b/projects/_standalone/aoc/src/year2022/MonkeyDSL.kiss similarity index 100% rename from projects/aoc/src/year2022/MonkeyDSL.kiss rename to projects/_standalone/aoc/src/year2022/MonkeyDSL.kiss diff --git a/projects/aoc/src/year2022/OpCode.hx b/projects/_standalone/aoc/src/year2022/OpCode.hx similarity index 100% rename from projects/aoc/src/year2022/OpCode.hx rename to projects/_standalone/aoc/src/year2022/OpCode.hx diff --git a/projects/aoc/src/year2022/Solutions2022.kiss b/projects/_standalone/aoc/src/year2022/Solutions2022.kiss similarity index 100% rename from projects/aoc/src/year2022/Solutions2022.kiss rename to projects/_standalone/aoc/src/year2022/Solutions2022.kiss diff --git a/projects/aoc/src/year2022/inputs/Day11.monkeys b/projects/_standalone/aoc/src/year2022/inputs/Day11.monkeys similarity index 100% rename from projects/aoc/src/year2022/inputs/Day11.monkeys rename to projects/_standalone/aoc/src/year2022/inputs/Day11.monkeys diff --git a/projects/aoc/src/year2022/inputs/Day11Example.monkeys b/projects/_standalone/aoc/src/year2022/inputs/Day11Example.monkeys similarity index 100% rename from projects/aoc/src/year2022/inputs/Day11Example.monkeys rename to projects/_standalone/aoc/src/year2022/inputs/Day11Example.monkeys diff --git a/projects/aoc/src/year2022/inputs/day1.txt b/projects/_standalone/aoc/src/year2022/inputs/day1.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day1.txt rename to projects/_standalone/aoc/src/year2022/inputs/day1.txt diff --git a/projects/aoc/src/year2022/inputs/day10.txt b/projects/_standalone/aoc/src/year2022/inputs/day10.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day10.txt rename to projects/_standalone/aoc/src/year2022/inputs/day10.txt diff --git a/projects/aoc/src/year2022/inputs/day10example.txt b/projects/_standalone/aoc/src/year2022/inputs/day10example.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day10example.txt rename to projects/_standalone/aoc/src/year2022/inputs/day10example.txt diff --git a/projects/aoc/src/year2022/inputs/day13.txt b/projects/_standalone/aoc/src/year2022/inputs/day13.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day13.txt rename to projects/_standalone/aoc/src/year2022/inputs/day13.txt diff --git a/projects/aoc/src/year2022/inputs/day13example.txt b/projects/_standalone/aoc/src/year2022/inputs/day13example.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day13example.txt rename to projects/_standalone/aoc/src/year2022/inputs/day13example.txt diff --git a/projects/aoc/src/year2022/inputs/day2.txt b/projects/_standalone/aoc/src/year2022/inputs/day2.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day2.txt rename to projects/_standalone/aoc/src/year2022/inputs/day2.txt diff --git a/projects/aoc/src/year2022/inputs/day3.txt b/projects/_standalone/aoc/src/year2022/inputs/day3.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day3.txt rename to projects/_standalone/aoc/src/year2022/inputs/day3.txt diff --git a/projects/aoc/src/year2022/inputs/day4.txt b/projects/_standalone/aoc/src/year2022/inputs/day4.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day4.txt rename to projects/_standalone/aoc/src/year2022/inputs/day4.txt diff --git a/projects/aoc/src/year2022/inputs/day5.txt b/projects/_standalone/aoc/src/year2022/inputs/day5.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day5.txt rename to projects/_standalone/aoc/src/year2022/inputs/day5.txt diff --git a/projects/aoc/src/year2022/inputs/day6.txt b/projects/_standalone/aoc/src/year2022/inputs/day6.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day6.txt rename to projects/_standalone/aoc/src/year2022/inputs/day6.txt diff --git a/projects/aoc/src/year2022/inputs/day7.txt b/projects/_standalone/aoc/src/year2022/inputs/day7.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day7.txt rename to projects/_standalone/aoc/src/year2022/inputs/day7.txt diff --git a/projects/aoc/src/year2022/inputs/day8.txt b/projects/_standalone/aoc/src/year2022/inputs/day8.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day8.txt rename to projects/_standalone/aoc/src/year2022/inputs/day8.txt diff --git a/projects/aoc/src/year2022/inputs/day8example.txt b/projects/_standalone/aoc/src/year2022/inputs/day8example.txt similarity index 100% rename from projects/aoc/src/year2022/inputs/day8example.txt rename to projects/_standalone/aoc/src/year2022/inputs/day8example.txt diff --git a/projects/aoc/test.sh b/projects/_standalone/aoc/test.sh similarity index 100% rename from projects/aoc/test.sh rename to projects/_standalone/aoc/test.sh diff --git a/projects/duplicate-text-editor/.gitignore b/projects/_standalone/duplicate-text-editor/.gitignore similarity index 100% rename from projects/duplicate-text-editor/.gitignore rename to projects/_standalone/duplicate-text-editor/.gitignore diff --git a/projects/duplicate-text-editor/.vscode/launch.json b/projects/_standalone/duplicate-text-editor/.vscode/launch.json similarity index 100% rename from projects/duplicate-text-editor/.vscode/launch.json rename to projects/_standalone/duplicate-text-editor/.vscode/launch.json diff --git a/projects/duplicate-text-editor/.vscode/tasks.json b/projects/_standalone/duplicate-text-editor/.vscode/tasks.json similarity index 100% rename from projects/duplicate-text-editor/.vscode/tasks.json rename to projects/_standalone/duplicate-text-editor/.vscode/tasks.json diff --git a/projects/duplicate-text-editor/.vscodeignore b/projects/_standalone/duplicate-text-editor/.vscodeignore similarity index 100% rename from projects/duplicate-text-editor/.vscodeignore rename to projects/_standalone/duplicate-text-editor/.vscodeignore diff --git a/projects/duplicate-text-editor/README.md b/projects/_standalone/duplicate-text-editor/README.md similarity index 100% rename from projects/duplicate-text-editor/README.md rename to projects/_standalone/duplicate-text-editor/README.md diff --git a/projects/duplicate-text-editor/build.hxml b/projects/_standalone/duplicate-text-editor/build.hxml similarity index 100% rename from projects/duplicate-text-editor/build.hxml rename to projects/_standalone/duplicate-text-editor/build.hxml diff --git a/projects/duplicate-text-editor/package-lock.json b/projects/_standalone/duplicate-text-editor/package-lock.json similarity index 100% rename from projects/duplicate-text-editor/package-lock.json rename to projects/_standalone/duplicate-text-editor/package-lock.json diff --git a/projects/duplicate-text-editor/package.json b/projects/_standalone/duplicate-text-editor/package.json similarity index 100% rename from projects/duplicate-text-editor/package.json rename to projects/_standalone/duplicate-text-editor/package.json diff --git a/projects/duplicate-text-editor/src/Main.hx b/projects/_standalone/duplicate-text-editor/src/Main.hx similarity index 100% rename from projects/duplicate-text-editor/src/Main.hx rename to projects/_standalone/duplicate-text-editor/src/Main.hx diff --git a/projects/duplicate-text-editor/src/Main.kiss b/projects/_standalone/duplicate-text-editor/src/Main.kiss similarity index 100% rename from projects/duplicate-text-editor/src/Main.kiss rename to projects/_standalone/duplicate-text-editor/src/Main.kiss diff --git a/projects/duplicate-text-editor/test.sh b/projects/_standalone/duplicate-text-editor/test.sh similarity index 100% rename from projects/duplicate-text-editor/test.sh rename to projects/_standalone/duplicate-text-editor/test.sh diff --git a/projects/duplicate-text-editor/test/file.txt b/projects/_standalone/duplicate-text-editor/test/file.txt similarity index 100% rename from projects/duplicate-text-editor/test/file.txt rename to projects/_standalone/duplicate-text-editor/test/file.txt diff --git a/projects/duplicate-text-editor/test/file2.txt b/projects/_standalone/duplicate-text-editor/test/file2.txt similarity index 100% rename from projects/duplicate-text-editor/test/file2.txt rename to projects/_standalone/duplicate-text-editor/test/file2.txt diff --git a/projects/flixel-desktop-habit-puzzle-game/.gitignore b/projects/_standalone/flixel-desktop-habit-puzzle-game/.gitignore similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/.gitignore rename to projects/_standalone/flixel-desktop-habit-puzzle-game/.gitignore diff --git a/projects/flixel-desktop-habit-puzzle-game/.vscode/extensions.json b/projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/extensions.json similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/.vscode/extensions.json rename to projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/extensions.json diff --git a/projects/flixel-desktop-habit-puzzle-game/.vscode/launch.json b/projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/launch.json similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/.vscode/launch.json rename to projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/launch.json diff --git a/projects/flixel-desktop-habit-puzzle-game/.vscode/settings.json b/projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/settings.json similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/.vscode/settings.json rename to projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/settings.json diff --git a/projects/flixel-desktop-habit-puzzle-game/.vscode/tasks.json b/projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/tasks.json similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/.vscode/tasks.json rename to projects/_standalone/flixel-desktop-habit-puzzle-game/.vscode/tasks.json diff --git a/projects/flixel-desktop-habit-puzzle-game/Project.xml b/projects/_standalone/flixel-desktop-habit-puzzle-game/Project.xml similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/Project.xml rename to projects/_standalone/flixel-desktop-habit-puzzle-game/Project.xml diff --git a/projects/flixel-desktop-habit-puzzle-game/assets/default.txt b/projects/_standalone/flixel-desktop-habit-puzzle-game/assets/default.txt similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/assets/default.txt rename to projects/_standalone/flixel-desktop-habit-puzzle-game/assets/default.txt diff --git a/projects/flixel-desktop-habit-puzzle-game/assets/ding.wav b/projects/_standalone/flixel-desktop-habit-puzzle-game/assets/ding.wav similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/assets/ding.wav rename to projects/_standalone/flixel-desktop-habit-puzzle-game/assets/ding.wav diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/1.markdown b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/1.markdown similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/1.markdown rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/1.markdown diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/2.markdown b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/2.markdown similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/2.markdown rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/2.markdown diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/8-15-22-a.gif b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/8-15-22-a.gif similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/8-15-22-a.gif rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/8-15-22-a.gif diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/8-15-22-b.gif b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/8-15-22-b.gif similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/8-15-22-b.gif rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/8-15-22-b.gif diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/IMG_20220911_144514349.jpg b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/IMG_20220911_144514349.jpg similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/IMG_20220911_144514349.jpg rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/IMG_20220911_144514349.jpg diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/cover.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/cover.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/cover.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/cover.png diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/gizmos.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/gizmos.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/gizmos.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/gizmos.png diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/habitica quest.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/habitica quest.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/habitica quest.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/habitica quest.png diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/layton-jigsaw.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/layton-jigsaw.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/layton-jigsaw.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/layton-jigsaw.png diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/playtest.gif b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/playtest.gif similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/playtest.gif rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/playtest.gif diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/stressTest.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/stressTest.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/stressTest.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/stressTest.png diff --git a/projects/flixel-desktop-habit-puzzle-game/devlog/stressTestZoom.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/stressTestZoom.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/devlog/stressTestZoom.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/devlog/stressTestZoom.png diff --git a/projects/flixel-desktop-habit-puzzle-game/hxformat.json b/projects/_standalone/flixel-desktop-habit-puzzle-game/hxformat.json similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/hxformat.json rename to projects/_standalone/flixel-desktop-habit-puzzle-game/hxformat.json diff --git a/projects/flixel-desktop-habit-puzzle-game/playtest-todo.txt b/projects/_standalone/flixel-desktop-habit-puzzle-game/playtest-todo.txt similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/playtest-todo.txt rename to projects/_standalone/flixel-desktop-habit-puzzle-game/playtest-todo.txt diff --git a/projects/flixel-desktop-habit-puzzle-game/requirements.hxml b/projects/_standalone/flixel-desktop-habit-puzzle-game/requirements.hxml similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/requirements.hxml rename to projects/_standalone/flixel-desktop-habit-puzzle-game/requirements.hxml diff --git a/projects/flixel-desktop-habit-puzzle-game/screenshots/10-01-22.gif b/projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/10-01-22.gif similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/screenshots/10-01-22.gif rename to projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/10-01-22.gif diff --git a/projects/flixel-desktop-habit-puzzle-game/screenshots/9-24-22.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/9-24-22.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/screenshots/9-24-22.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/9-24-22.png diff --git a/projects/flixel-desktop-habit-puzzle-game/screenshots/screen1.png b/projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/screen1.png similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/screenshots/screen1.png rename to projects/_standalone/flixel-desktop-habit-puzzle-game/screenshots/screen1.png diff --git a/projects/flixel-desktop-habit-puzzle-game/source/Entry.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/Entry.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/Entry.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/Entry.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/Entry.kiss b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/Entry.kiss similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/Entry.kiss rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/Entry.kiss diff --git a/projects/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.kiss b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.kiss similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.kiss rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/FlxPomTimer.kiss diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitModel.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/HabitModel.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitModel.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitState.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitState.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitState.kiss similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/HabitState.kiss diff --git a/projects/flixel-desktop-habit-puzzle-game/source/Main.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/Main.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/Main.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/Main.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/PuzzlePack.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/PuzzlePack.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/PuzzlePack.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/PuzzlePack.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/PuzzlePack.kiss b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/PuzzlePack.kiss similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/PuzzlePack.kiss rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/PuzzlePack.kiss diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/openfl.svg b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/openfl.svg similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/openfl.svg rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/openfl.svg diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/tablecloth.jpg b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/tablecloth.jpg similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/tablecloth.jpg rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Assets/tablecloth.jpg diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawMagicNumbers.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawMagicNumbers.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawMagicNumbers.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawMagicNumbers.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawPiece.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawPiece.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawPiece.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawPiece.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawSideData.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawSideData.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawSideData.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawSideData.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Jigsawx.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Jigsawx.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/Jigsawx.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/Jigsawx.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawxOpenfl.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawxOpenfl.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawxOpenfl.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/JigsawxOpenfl.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/LICENSE b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/LICENSE similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/LICENSE rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/LICENSE diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/OpenEllipse.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/OpenEllipse.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/OpenEllipse.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/OpenEllipse.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/README.md b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/README.md similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/README.md rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/README.md diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/application.xml b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/application.xml similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/application.xml rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/application.xml diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/compileOpenfl.hxml b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/compileOpenfl.hxml similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/compileOpenfl.hxml rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/compileOpenfl.hxml diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/ds/CircleIter.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/ds/CircleIter.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/ds/CircleIter.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/ds/CircleIter.hx diff --git a/projects/flixel-desktop-habit-puzzle-game/source/jigsawx/math/Vec2.hx b/projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/math/Vec2.hx similarity index 100% rename from projects/flixel-desktop-habit-puzzle-game/source/jigsawx/math/Vec2.hx rename to projects/_standalone/flixel-desktop-habit-puzzle-game/source/jigsawx/math/Vec2.hx diff --git a/projects/iso-rpg-engine/.gitignore b/projects/_standalone/iso-rpg-engine/.gitignore similarity index 100% rename from projects/iso-rpg-engine/.gitignore rename to projects/_standalone/iso-rpg-engine/.gitignore diff --git a/projects/iso-rpg-engine/.vscode/extensions.json b/projects/_standalone/iso-rpg-engine/.vscode/extensions.json similarity index 100% rename from projects/iso-rpg-engine/.vscode/extensions.json rename to projects/_standalone/iso-rpg-engine/.vscode/extensions.json diff --git a/projects/iso-rpg-engine/.vscode/launch.json b/projects/_standalone/iso-rpg-engine/.vscode/launch.json similarity index 100% rename from projects/iso-rpg-engine/.vscode/launch.json rename to projects/_standalone/iso-rpg-engine/.vscode/launch.json diff --git a/projects/iso-rpg-engine/.vscode/settings.json b/projects/_standalone/iso-rpg-engine/.vscode/settings.json similarity index 100% rename from projects/iso-rpg-engine/.vscode/settings.json rename to projects/_standalone/iso-rpg-engine/.vscode/settings.json diff --git a/projects/iso-rpg-engine/.vscode/tasks.json b/projects/_standalone/iso-rpg-engine/.vscode/tasks.json similarity index 100% rename from projects/iso-rpg-engine/.vscode/tasks.json rename to projects/_standalone/iso-rpg-engine/.vscode/tasks.json diff --git a/projects/iso-rpg-engine/Project.xml b/projects/_standalone/iso-rpg-engine/Project.xml similarity index 100% rename from projects/iso-rpg-engine/Project.xml rename to projects/_standalone/iso-rpg-engine/Project.xml diff --git a/projects/iso-rpg-engine/assets/bladesmoddata.txt b/projects/_standalone/iso-rpg-engine/assets/bladesmoddata.txt similarity index 100% rename from projects/iso-rpg-engine/assets/bladesmoddata.txt rename to projects/_standalone/iso-rpg-engine/assets/bladesmoddata.txt diff --git a/projects/iso-rpg-engine/assets/images/images-go-here.txt b/projects/_standalone/iso-rpg-engine/assets/images/images-go-here.txt similarity index 100% rename from projects/iso-rpg-engine/assets/images/images-go-here.txt rename to projects/_standalone/iso-rpg-engine/assets/images/images-go-here.txt diff --git a/projects/iso-rpg-engine/assets/music/music-goes-here.txt b/projects/_standalone/iso-rpg-engine/assets/music/music-goes-here.txt similarity index 100% rename from projects/iso-rpg-engine/assets/music/music-goes-here.txt rename to projects/_standalone/iso-rpg-engine/assets/music/music-goes-here.txt diff --git a/projects/iso-rpg-engine/assets/sounds/sounds-go-here.txt b/projects/_standalone/iso-rpg-engine/assets/sounds/sounds-go-here.txt similarity index 100% rename from projects/iso-rpg-engine/assets/sounds/sounds-go-here.txt rename to projects/_standalone/iso-rpg-engine/assets/sounds/sounds-go-here.txt diff --git a/projects/iso-rpg-engine/hxformat.json b/projects/_standalone/iso-rpg-engine/hxformat.json similarity index 100% rename from projects/iso-rpg-engine/hxformat.json rename to projects/_standalone/iso-rpg-engine/hxformat.json diff --git a/projects/iso-rpg-engine/source/AssetPaths.hx b/projects/_standalone/iso-rpg-engine/source/AssetPaths.hx similarity index 100% rename from projects/iso-rpg-engine/source/AssetPaths.hx rename to projects/_standalone/iso-rpg-engine/source/AssetPaths.hx diff --git a/projects/iso-rpg-engine/source/BladesMapState.hx b/projects/_standalone/iso-rpg-engine/source/BladesMapState.hx similarity index 100% rename from projects/iso-rpg-engine/source/BladesMapState.hx rename to projects/_standalone/iso-rpg-engine/source/BladesMapState.hx diff --git a/projects/iso-rpg-engine/source/BladesMapState.kiss b/projects/_standalone/iso-rpg-engine/source/BladesMapState.kiss similarity index 100% rename from projects/iso-rpg-engine/source/BladesMapState.kiss rename to projects/_standalone/iso-rpg-engine/source/BladesMapState.kiss diff --git a/projects/iso-rpg-engine/source/Bmp.hx b/projects/_standalone/iso-rpg-engine/source/Bmp.hx similarity index 100% rename from projects/iso-rpg-engine/source/Bmp.hx rename to projects/_standalone/iso-rpg-engine/source/Bmp.hx diff --git a/projects/iso-rpg-engine/source/Main.hx b/projects/_standalone/iso-rpg-engine/source/Main.hx similarity index 100% rename from projects/iso-rpg-engine/source/Main.hx rename to projects/_standalone/iso-rpg-engine/source/Main.hx diff --git a/projects/iso-rpg-engine/source/data/blades/CreatureData.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/CreatureData.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/CreatureData.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/CreatureData.hx diff --git a/projects/iso-rpg-engine/source/data/blades/FloorData.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/FloorData.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/FloorData.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/FloorData.hx diff --git a/projects/iso-rpg-engine/source/data/blades/ItemData.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/ItemData.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/ItemData.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/ItemData.hx diff --git a/projects/iso-rpg-engine/source/data/blades/ScenData.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/ScenData.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/ScenData.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/ScenData.hx diff --git a/projects/iso-rpg-engine/source/data/blades/Scenario.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/Scenario.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/Scenario.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/Scenario.hx diff --git a/projects/iso-rpg-engine/source/data/blades/SpriteSheet.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/SpriteSheet.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/SpriteSheet.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/SpriteSheet.hx diff --git a/projects/iso-rpg-engine/source/data/blades/SpriteSheet.kiss b/projects/_standalone/iso-rpg-engine/source/data/blades/SpriteSheet.kiss similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/SpriteSheet.kiss rename to projects/_standalone/iso-rpg-engine/source/data/blades/SpriteSheet.kiss diff --git a/projects/iso-rpg-engine/source/data/blades/TerrainData.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/TerrainData.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/TerrainData.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/TerrainData.hx diff --git a/projects/iso-rpg-engine/source/data/blades/TileMap.hx b/projects/_standalone/iso-rpg-engine/source/data/blades/TileMap.hx similarity index 100% rename from projects/iso-rpg-engine/source/data/blades/TileMap.hx rename to projects/_standalone/iso-rpg-engine/source/data/blades/TileMap.hx diff --git a/projects/kiss-cli-tests/.gitignore b/projects/_standalone/kiss-cli-tests/.gitignore similarity index 100% rename from projects/kiss-cli-tests/.gitignore rename to projects/_standalone/kiss-cli-tests/.gitignore diff --git a/projects/kiss-cli-tests/new-express-project-input.txt b/projects/_standalone/kiss-cli-tests/new-express-project-input.txt similarity index 100% rename from projects/kiss-cli-tests/new-express-project-input.txt rename to projects/_standalone/kiss-cli-tests/new-express-project-input.txt diff --git a/projects/kiss-cli-tests/new-flixel-project-input.txt b/projects/_standalone/kiss-cli-tests/new-flixel-project-input.txt similarity index 100% rename from projects/kiss-cli-tests/new-flixel-project-input.txt rename to projects/_standalone/kiss-cli-tests/new-flixel-project-input.txt diff --git a/projects/kiss-cli-tests/new-project-input.txt b/projects/_standalone/kiss-cli-tests/new-project-input.txt similarity index 100% rename from projects/kiss-cli-tests/new-project-input.txt rename to projects/_standalone/kiss-cli-tests/new-project-input.txt diff --git a/projects/kiss-cli-tests/test.sh b/projects/_standalone/kiss-cli-tests/test.sh similarity index 100% rename from projects/kiss-cli-tests/test.sh rename to projects/_standalone/kiss-cli-tests/test.sh diff --git a/projects/kiss-vscode/.gitignore b/projects/_standalone/kiss-vscode/.gitignore similarity index 100% rename from projects/kiss-vscode/.gitignore rename to projects/_standalone/kiss-vscode/.gitignore diff --git a/projects/kiss-vscode/.vscode/launch.json b/projects/_standalone/kiss-vscode/.vscode/launch.json similarity index 100% rename from projects/kiss-vscode/.vscode/launch.json rename to projects/_standalone/kiss-vscode/.vscode/launch.json diff --git a/projects/kiss-vscode/.vscode/tasks.json b/projects/_standalone/kiss-vscode/.vscode/tasks.json similarity index 100% rename from projects/kiss-vscode/.vscode/tasks.json rename to projects/_standalone/kiss-vscode/.vscode/tasks.json diff --git a/projects/kiss-vscode/.vscodeignore b/projects/_standalone/kiss-vscode/.vscodeignore similarity index 100% rename from projects/kiss-vscode/.vscodeignore rename to projects/_standalone/kiss-vscode/.vscodeignore diff --git a/projects/kiss-vscode/Kiss.configuration.json b/projects/_standalone/kiss-vscode/Kiss.configuration.json similarity index 100% rename from projects/kiss-vscode/Kiss.configuration.json rename to projects/_standalone/kiss-vscode/Kiss.configuration.json diff --git a/projects/kiss-vscode/README.md b/projects/_standalone/kiss-vscode/README.md similarity index 100% rename from projects/kiss-vscode/README.md rename to projects/_standalone/kiss-vscode/README.md diff --git a/projects/kiss-vscode/build.hxml b/projects/_standalone/kiss-vscode/build.hxml similarity index 100% rename from projects/kiss-vscode/build.hxml rename to projects/_standalone/kiss-vscode/build.hxml diff --git a/projects/kiss-vscode/package-lock.json b/projects/_standalone/kiss-vscode/package-lock.json similarity index 100% rename from projects/kiss-vscode/package-lock.json rename to projects/_standalone/kiss-vscode/package-lock.json diff --git a/projects/kiss-vscode/package.json b/projects/_standalone/kiss-vscode/package.json similarity index 100% rename from projects/kiss-vscode/package.json rename to projects/_standalone/kiss-vscode/package.json diff --git a/projects/kiss-vscode/src/Main.hx b/projects/_standalone/kiss-vscode/src/Main.hx similarity index 100% rename from projects/kiss-vscode/src/Main.hx rename to projects/_standalone/kiss-vscode/src/Main.hx diff --git a/projects/kiss-vscode/src/Main.kiss b/projects/_standalone/kiss-vscode/src/Main.kiss similarity index 100% rename from projects/kiss-vscode/src/Main.kiss rename to projects/_standalone/kiss-vscode/src/Main.kiss diff --git a/projects/kiss-vscode/src/commands/ExtensionTools.kiss b/projects/_standalone/kiss-vscode/src/commands/ExtensionTools.kiss similarity index 100% rename from projects/kiss-vscode/src/commands/ExtensionTools.kiss rename to projects/_standalone/kiss-vscode/src/commands/ExtensionTools.kiss diff --git a/projects/kiss-vscode/src/commands/KissTools.kiss b/projects/_standalone/kiss-vscode/src/commands/KissTools.kiss similarity index 100% rename from projects/kiss-vscode/src/commands/KissTools.kiss rename to projects/_standalone/kiss-vscode/src/commands/KissTools.kiss diff --git a/projects/kiss-vscode/src/commands/Lines.kiss b/projects/_standalone/kiss-vscode/src/commands/Lines.kiss similarity index 100% rename from projects/kiss-vscode/src/commands/Lines.kiss rename to projects/_standalone/kiss-vscode/src/commands/Lines.kiss diff --git a/projects/kiss-vscode/src/commands/_deprecated/EmacsPorts.kiss b/projects/_standalone/kiss-vscode/src/commands/_deprecated/EmacsPorts.kiss similarity index 100% rename from projects/kiss-vscode/src/commands/_deprecated/EmacsPorts.kiss rename to projects/_standalone/kiss-vscode/src/commands/_deprecated/EmacsPorts.kiss diff --git a/projects/kiss-vscode/syntaxes/codeblock.json b/projects/_standalone/kiss-vscode/syntaxes/codeblock.json similarity index 100% rename from projects/kiss-vscode/syntaxes/codeblock.json rename to projects/_standalone/kiss-vscode/syntaxes/codeblock.json diff --git a/projects/kiss-vscode/syntaxes/kiss.tmLanguage b/projects/_standalone/kiss-vscode/syntaxes/kiss.tmLanguage similarity index 100% rename from projects/kiss-vscode/syntaxes/kiss.tmLanguage rename to projects/_standalone/kiss-vscode/syntaxes/kiss.tmLanguage diff --git a/projects/kiss-vscode/test.sh b/projects/_standalone/kiss-vscode/test.sh similarity index 100% rename from projects/kiss-vscode/test.sh rename to projects/_standalone/kiss-vscode/test.sh diff --git a/projects/ksr-express/.gitignore b/projects/_standalone/ksr-express/.gitignore similarity index 100% rename from projects/ksr-express/.gitignore rename to projects/_standalone/ksr-express/.gitignore diff --git a/projects/ksr-express/build.hxml b/projects/_standalone/ksr-express/build.hxml similarity index 100% rename from projects/ksr-express/build.hxml rename to projects/_standalone/ksr-express/build.hxml diff --git a/projects/ksr-express/package-lock.json b/projects/_standalone/ksr-express/package-lock.json similarity index 100% rename from projects/ksr-express/package-lock.json rename to projects/_standalone/ksr-express/package-lock.json diff --git a/projects/ksr-express/package.json b/projects/_standalone/ksr-express/package.json similarity index 100% rename from projects/ksr-express/package.json rename to projects/_standalone/ksr-express/package.json diff --git a/projects/ksr-express/src/ksr_express/Engine.kiss b/projects/_standalone/ksr-express/src/ksr_express/Engine.kiss similarity index 100% rename from projects/ksr-express/src/ksr_express/Engine.kiss rename to projects/_standalone/ksr-express/src/ksr_express/Engine.kiss diff --git a/projects/ksr-express/test.sh b/projects/_standalone/ksr-express/test.sh similarity index 100% rename from projects/ksr-express/test.sh rename to projects/_standalone/ksr-express/test.sh diff --git a/projects/ktxt2/.gitignore b/projects/_standalone/ktxt2/.gitignore similarity index 100% rename from projects/ktxt2/.gitignore rename to projects/_standalone/ktxt2/.gitignore diff --git a/projects/ktxt2/.vscode/launch.json b/projects/_standalone/ktxt2/.vscode/launch.json similarity index 100% rename from projects/ktxt2/.vscode/launch.json rename to projects/_standalone/ktxt2/.vscode/launch.json diff --git a/projects/ktxt2/.vscode/tasks.json b/projects/_standalone/ktxt2/.vscode/tasks.json similarity index 100% rename from projects/ktxt2/.vscode/tasks.json rename to projects/_standalone/ktxt2/.vscode/tasks.json diff --git a/projects/ktxt2/.vscodeignore b/projects/_standalone/ktxt2/.vscodeignore similarity index 100% rename from projects/ktxt2/.vscodeignore rename to projects/_standalone/ktxt2/.vscodeignore diff --git a/projects/ktxt2/README.md b/projects/_standalone/ktxt2/README.md similarity index 100% rename from projects/ktxt2/README.md rename to projects/_standalone/ktxt2/README.md diff --git a/projects/ktxt2/build.hxml b/projects/_standalone/ktxt2/build.hxml similarity index 100% rename from projects/ktxt2/build.hxml rename to projects/_standalone/ktxt2/build.hxml diff --git a/projects/ktxt2/package-lock.json b/projects/_standalone/ktxt2/package-lock.json similarity index 100% rename from projects/ktxt2/package-lock.json rename to projects/_standalone/ktxt2/package-lock.json diff --git a/projects/ktxt2/package.json b/projects/_standalone/ktxt2/package.json similarity index 100% rename from projects/ktxt2/package.json rename to projects/_standalone/ktxt2/package.json diff --git a/projects/ktxt2/src/ktxt2/Commands.kiss b/projects/_standalone/ktxt2/src/ktxt2/Commands.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/Commands.kiss rename to projects/_standalone/ktxt2/src/ktxt2/Commands.kiss diff --git a/projects/ktxt2/src/ktxt2/EditorExterns.hx b/projects/_standalone/ktxt2/src/ktxt2/EditorExterns.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/EditorExterns.hx rename to projects/_standalone/ktxt2/src/ktxt2/EditorExterns.hx diff --git a/projects/ktxt2/src/ktxt2/KTxt2.hx b/projects/_standalone/ktxt2/src/ktxt2/KTxt2.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2.hx rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2.hx diff --git a/projects/ktxt2/src/ktxt2/KTxt2.kiss b/projects/_standalone/ktxt2/src/ktxt2/KTxt2.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2.kiss rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2.kiss diff --git a/projects/ktxt2/src/ktxt2/KTxt2Editor.hx b/projects/_standalone/ktxt2/src/ktxt2/KTxt2Editor.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2Editor.hx rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2Editor.hx diff --git a/projects/ktxt2/src/ktxt2/KTxt2Editor.kiss b/projects/_standalone/ktxt2/src/ktxt2/KTxt2Editor.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2Editor.kiss rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2Editor.kiss diff --git a/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.hx b/projects/_standalone/ktxt2/src/ktxt2/KTxt2EditorProvider.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2EditorProvider.hx rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2EditorProvider.hx diff --git a/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss b/projects/_standalone/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss rename to projects/_standalone/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss diff --git a/projects/ktxt2/src/ktxt2/Main.hx b/projects/_standalone/ktxt2/src/ktxt2/Main.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/Main.hx rename to projects/_standalone/ktxt2/src/ktxt2/Main.hx diff --git a/projects/ktxt2/src/ktxt2/Main.kiss b/projects/_standalone/ktxt2/src/ktxt2/Main.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/Main.kiss rename to projects/_standalone/ktxt2/src/ktxt2/Main.kiss diff --git a/projects/ktxt2/src/ktxt2/NamesConversion.hx b/projects/_standalone/ktxt2/src/ktxt2/NamesConversion.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/NamesConversion.hx rename to projects/_standalone/ktxt2/src/ktxt2/NamesConversion.hx diff --git a/projects/ktxt2/src/ktxt2/NamesConversion.kiss b/projects/_standalone/ktxt2/src/ktxt2/NamesConversion.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/NamesConversion.kiss rename to projects/_standalone/ktxt2/src/ktxt2/NamesConversion.kiss diff --git a/projects/ktxt2/src/ktxt2/RegexConversion.hx b/projects/_standalone/ktxt2/src/ktxt2/RegexConversion.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/RegexConversion.hx rename to projects/_standalone/ktxt2/src/ktxt2/RegexConversion.hx diff --git a/projects/ktxt2/src/ktxt2/RegexConversion.kiss b/projects/_standalone/ktxt2/src/ktxt2/RegexConversion.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/RegexConversion.kiss rename to projects/_standalone/ktxt2/src/ktxt2/RegexConversion.kiss diff --git a/projects/ktxt2/src/ktxt2/StreamConversion.hx b/projects/_standalone/ktxt2/src/ktxt2/StreamConversion.hx similarity index 100% rename from projects/ktxt2/src/ktxt2/StreamConversion.hx rename to projects/_standalone/ktxt2/src/ktxt2/StreamConversion.hx diff --git a/projects/ktxt2/src/ktxt2/StreamConversion.kiss b/projects/_standalone/ktxt2/src/ktxt2/StreamConversion.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/StreamConversion.kiss rename to projects/_standalone/ktxt2/src/ktxt2/StreamConversion.kiss diff --git a/projects/ktxt2/src/ktxt2/conversions/FountainToHollywoo.kiss b/projects/_standalone/ktxt2/src/ktxt2/conversions/FountainToHollywoo.kiss similarity index 100% rename from projects/ktxt2/src/ktxt2/conversions/FountainToHollywoo.kiss rename to projects/_standalone/ktxt2/src/ktxt2/conversions/FountainToHollywoo.kiss diff --git a/projects/ktxt2/test.sh b/projects/_standalone/ktxt2/test.sh similarity index 100% rename from projects/ktxt2/test.sh rename to projects/_standalone/ktxt2/test.sh diff --git a/projects/nat-flixel-desktop-playground/.gitignore b/projects/_standalone/nat-flixel-desktop-playground/.gitignore similarity index 100% rename from projects/nat-flixel-desktop-playground/.gitignore rename to projects/_standalone/nat-flixel-desktop-playground/.gitignore diff --git a/projects/nat-flixel-desktop-playground/.vscode/extensions.json b/projects/_standalone/nat-flixel-desktop-playground/.vscode/extensions.json similarity index 100% rename from projects/nat-flixel-desktop-playground/.vscode/extensions.json rename to projects/_standalone/nat-flixel-desktop-playground/.vscode/extensions.json diff --git a/projects/nat-flixel-desktop-playground/.vscode/launch.json b/projects/_standalone/nat-flixel-desktop-playground/.vscode/launch.json similarity index 100% rename from projects/nat-flixel-desktop-playground/.vscode/launch.json rename to projects/_standalone/nat-flixel-desktop-playground/.vscode/launch.json diff --git a/projects/nat-flixel-desktop-playground/.vscode/settings.json b/projects/_standalone/nat-flixel-desktop-playground/.vscode/settings.json similarity index 100% rename from projects/nat-flixel-desktop-playground/.vscode/settings.json rename to projects/_standalone/nat-flixel-desktop-playground/.vscode/settings.json diff --git a/projects/nat-flixel-desktop-playground/.vscode/tasks.json b/projects/_standalone/nat-flixel-desktop-playground/.vscode/tasks.json similarity index 100% rename from projects/nat-flixel-desktop-playground/.vscode/tasks.json rename to projects/_standalone/nat-flixel-desktop-playground/.vscode/tasks.json diff --git a/projects/nat-flixel-desktop-playground/Project.xml b/projects/_standalone/nat-flixel-desktop-playground/Project.xml similarity index 100% rename from projects/nat-flixel-desktop-playground/Project.xml rename to projects/_standalone/nat-flixel-desktop-playground/Project.xml diff --git a/projects/nat-flixel-desktop-playground/README.md b/projects/_standalone/nat-flixel-desktop-playground/README.md similarity index 100% rename from projects/nat-flixel-desktop-playground/README.md rename to projects/_standalone/nat-flixel-desktop-playground/README.md diff --git a/projects/nat-flixel-desktop-playground/assets/data/data-goes-here.txt b/projects/_standalone/nat-flixel-desktop-playground/assets/data/data-goes-here.txt similarity index 100% rename from projects/nat-flixel-desktop-playground/assets/data/data-goes-here.txt rename to projects/_standalone/nat-flixel-desktop-playground/assets/data/data-goes-here.txt diff --git a/projects/nat-flixel-desktop-playground/assets/images/images-go-here.txt b/projects/_standalone/nat-flixel-desktop-playground/assets/images/images-go-here.txt similarity index 100% rename from projects/nat-flixel-desktop-playground/assets/images/images-go-here.txt rename to projects/_standalone/nat-flixel-desktop-playground/assets/images/images-go-here.txt diff --git a/projects/nat-flixel-desktop-playground/assets/music/music-goes-here.txt b/projects/_standalone/nat-flixel-desktop-playground/assets/music/music-goes-here.txt similarity index 100% rename from projects/nat-flixel-desktop-playground/assets/music/music-goes-here.txt rename to projects/_standalone/nat-flixel-desktop-playground/assets/music/music-goes-here.txt diff --git a/projects/nat-flixel-desktop-playground/assets/sounds/sounds-go-here.txt b/projects/_standalone/nat-flixel-desktop-playground/assets/sounds/sounds-go-here.txt similarity index 100% rename from projects/nat-flixel-desktop-playground/assets/sounds/sounds-go-here.txt rename to projects/_standalone/nat-flixel-desktop-playground/assets/sounds/sounds-go-here.txt diff --git a/projects/nat-flixel-desktop-playground/copy-extern-scripts.sh b/projects/_standalone/nat-flixel-desktop-playground/copy-extern-scripts.sh similarity index 100% rename from projects/nat-flixel-desktop-playground/copy-extern-scripts.sh rename to projects/_standalone/nat-flixel-desktop-playground/copy-extern-scripts.sh diff --git a/projects/nat-flixel-desktop-playground/hxformat.json b/projects/_standalone/nat-flixel-desktop-playground/hxformat.json similarity index 100% rename from projects/nat-flixel-desktop-playground/hxformat.json rename to projects/_standalone/nat-flixel-desktop-playground/hxformat.json diff --git a/projects/nat-flixel-desktop-playground/source/AssetPaths.hx b/projects/_standalone/nat-flixel-desktop-playground/source/AssetPaths.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/AssetPaths.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/AssetPaths.hx diff --git a/projects/nat-flixel-desktop-playground/source/EntrySprite.hx b/projects/_standalone/nat-flixel-desktop-playground/source/EntrySprite.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/EntrySprite.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/EntrySprite.hx diff --git a/projects/nat-flixel-desktop-playground/source/EntrySprite.kiss b/projects/_standalone/nat-flixel-desktop-playground/source/EntrySprite.kiss similarity index 100% rename from projects/nat-flixel-desktop-playground/source/EntrySprite.kiss rename to projects/_standalone/nat-flixel-desktop-playground/source/EntrySprite.kiss diff --git a/projects/nat-flixel-desktop-playground/source/EntrySpriteSystem.hx b/projects/_standalone/nat-flixel-desktop-playground/source/EntrySpriteSystem.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/EntrySpriteSystem.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/EntrySpriteSystem.hx diff --git a/projects/nat-flixel-desktop-playground/source/EntrySpriteSystem.kiss b/projects/_standalone/nat-flixel-desktop-playground/source/EntrySpriteSystem.kiss similarity index 100% rename from projects/nat-flixel-desktop-playground/source/EntrySpriteSystem.kiss rename to projects/_standalone/nat-flixel-desktop-playground/source/EntrySpriteSystem.kiss diff --git a/projects/nat-flixel-desktop-playground/source/Main.hx b/projects/_standalone/nat-flixel-desktop-playground/source/Main.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/Main.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/Main.hx diff --git a/projects/nat-flixel-desktop-playground/source/Main.kiss b/projects/_standalone/nat-flixel-desktop-playground/source/Main.kiss similarity index 100% rename from projects/nat-flixel-desktop-playground/source/Main.kiss rename to projects/_standalone/nat-flixel-desktop-playground/source/Main.kiss diff --git a/projects/nat-flixel-desktop-playground/source/PlayState.hx b/projects/_standalone/nat-flixel-desktop-playground/source/PlayState.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/PlayState.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/PlayState.hx diff --git a/projects/nat-flixel-desktop-playground/source/PlayState.kiss b/projects/_standalone/nat-flixel-desktop-playground/source/PlayState.kiss similarity index 100% rename from projects/nat-flixel-desktop-playground/source/PlayState.kiss rename to projects/_standalone/nat-flixel-desktop-playground/source/PlayState.kiss diff --git a/projects/nat-flixel-desktop-playground/source/import.hx b/projects/_standalone/nat-flixel-desktop-playground/source/import.hx similarity index 100% rename from projects/nat-flixel-desktop-playground/source/import.hx rename to projects/_standalone/nat-flixel-desktop-playground/source/import.hx diff --git a/projects/nat-globelet-playground/.gitignore b/projects/_standalone/nat-globelet-playground/.gitignore similarity index 100% rename from projects/nat-globelet-playground/.gitignore rename to projects/_standalone/nat-globelet-playground/.gitignore diff --git a/projects/nat-globelet-playground/build.hxml b/projects/_standalone/nat-globelet-playground/build.hxml similarity index 100% rename from projects/nat-globelet-playground/build.hxml rename to projects/_standalone/nat-globelet-playground/build.hxml diff --git a/projects/nat-globelet-playground/package-lock.json b/projects/_standalone/nat-globelet-playground/package-lock.json similarity index 100% rename from projects/nat-globelet-playground/package-lock.json rename to projects/_standalone/nat-globelet-playground/package-lock.json diff --git a/projects/nat-globelet-playground/package.json b/projects/_standalone/nat-globelet-playground/package.json similarity index 100% rename from projects/nat-globelet-playground/package.json rename to projects/_standalone/nat-globelet-playground/package.json diff --git a/projects/nat-globelet-playground/src/nat_globelet_playground/Main.hx b/projects/_standalone/nat-globelet-playground/src/nat_globelet_playground/Main.hx similarity index 100% rename from projects/nat-globelet-playground/src/nat_globelet_playground/Main.hx rename to projects/_standalone/nat-globelet-playground/src/nat_globelet_playground/Main.hx diff --git a/projects/nat-globelet-playground/src/nat_globelet_playground/Main_.kiss b/projects/_standalone/nat-globelet-playground/src/nat_globelet_playground/Main_.kiss similarity index 100% rename from projects/nat-globelet-playground/src/nat_globelet_playground/Main_.kiss rename to projects/_standalone/nat-globelet-playground/src/nat_globelet_playground/Main_.kiss diff --git a/projects/nat-globelet-playground/test.sh b/projects/_standalone/nat-globelet-playground/test.sh similarity index 100% rename from projects/nat-globelet-playground/test.sh rename to projects/_standalone/nat-globelet-playground/test.sh diff --git a/projects/nat-godot-playground/.gitignore b/projects/_standalone/nat-godot-playground/.gitignore similarity index 100% rename from projects/nat-godot-playground/.gitignore rename to projects/_standalone/nat-godot-playground/.gitignore diff --git a/projects/nat-godot-playground/EntryPanel.tscn b/projects/_standalone/nat-godot-playground/EntryPanel.tscn similarity index 100% rename from projects/nat-godot-playground/EntryPanel.tscn rename to projects/_standalone/nat-godot-playground/EntryPanel.tscn diff --git a/projects/nat-godot-playground/Main.tscn b/projects/_standalone/nat-godot-playground/Main.tscn similarity index 100% rename from projects/nat-godot-playground/Main.tscn rename to projects/_standalone/nat-godot-playground/Main.tscn diff --git a/projects/nat-godot-playground/Playground.tscn b/projects/_standalone/nat-godot-playground/Playground.tscn similarity index 100% rename from projects/nat-godot-playground/Playground.tscn rename to projects/_standalone/nat-godot-playground/Playground.tscn diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/LICENSE.md b/projects/_standalone/nat-godot-playground/addons/haxe/LICENSE.md new file mode 100644 index 00000000..8947f567 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (c) 2021 Valentin Lemière + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/README.md b/projects/_standalone/nat-godot-playground/addons/haxe/README.md new file mode 100644 index 00000000..d6e85be4 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/README.md @@ -0,0 +1,71 @@ +![](https://raw.github.com/HaxeGodot/godot/main/.github/logo.png) + +[haxe externs](https://github.com/HaxeGodot/godot) | [editor plugin](https://github.com/HaxeGodot/editor-plugin) | [demo](https://github.com/HaxeGodot/squash-the-creeps-3d) | [api doc](https://haxegodot.github.io/godot/) | [discussions](https://github.com/HaxeGodot/godot/discussions) + +# Godot Editor Haxe Support Plugin + +Godot 3.3 engine editor plugin to help with Haxe development. + +The plugin is still in alpha, open an [issue](https://github.com/HaxeGodot/editor-plugin/issues) for bug reports or feature requests. + +## Installation + +The plugin isn't yet available on the godot asset library, to install it you can either: + +* [download this repository](https://github.com/HaxeGodot/editor-plugin/archive/refs/heads/main.zip) and extract it in the `addons/haxe` folder of your project + + You need to remove the `editor-plugin-main` folder added by github: have `addons/haxe/plugin.cfg` not `addons/haxe/editor-plugin-main/plugin.cfg` +* add it as a submodule `git submodule add https://github.com/HaxeGodot/editor-plugin.git addons/haxe` + +You need to enable the plugin by going in the Project -> Project Settings menu, Plugins tab, and checking the Enabled box for the Haxe plugin. + +## Setup + +Haxe support requires Godot C#, if it hasn't been setup click on Project -> Tools -> C# -> Create C# solution. + +The plugin can setup by clicking on the Project -> Tools -> Haxe -> Setup menu. + +This will check for the presence of the godot haxelib, update the C# solution and add a hxml. +If the project already contains some of these files the setup will be stopped. + +You can also do a [manual setup](#manual-setup) if you want more control. + +## Haxe scripts + +You can add/load/remove a Haxe script on a node by clicking on it, and in the inspector in Node -> Script -> Haxe Script click on the resource box. + +When creating or clicking Edit on an script it'll open in your editor. By default it is configured for VSCode, and can be changed in Project -> Project Settings -> Haxe -> External Editor. For now only `None` and `VSCode` are supported. + +### Building + +You need to build the Haxe code before launching your game, you can do that: + +* by manually using the hxml `haxe build.hxml` +* through your editor +* directly in the Godot editor in the bottom tab Haxe -> Build Haxe Project + +Note: The files in `scripts/` must all define their main type, for a file `Foo.hx` you must have the type `Foo`, otherwise compilation will fail. + +## Manual setup + +Example hxml: +```hxml +--cs build +--define net-ver=50 +--define no-compilation +--define analyzer-optimize +--class-path scripts +--library godot +--macro godot.Godot.buildProject() +--dce full +``` + +Modify the `` of the `csproj` file: +```xml +true +netstandard2.1 +``` + +## License + +The plugin is MIT licensed. diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/icons/haxe.svg b/projects/_standalone/nat-godot-playground/addons/haxe/icons/haxe.svg new file mode 100644 index 00000000..04777bb0 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/icons/haxe.svg @@ -0,0 +1,126 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/plugin.cfg b/projects/_standalone/nat-godot-playground/addons/haxe/plugin.cfg new file mode 100644 index 00000000..547ff528 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Haxe" +description="Haxe support for the Godot engine." +author="ibilon" +version="0.1.0" +script="scripts/haxe.gd" diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scenes/about.tscn b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/about.tscn new file mode 100644 index 00000000..5f27caaf --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/about.tscn @@ -0,0 +1,14 @@ +[gd_scene format=2] + +[node name="About" type="AcceptDialog"] +margin_right = 83.0 +margin_bottom = 58.0 +window_title = "About Haxe support" +dialog_text = "This plugin adds support for the Haxe programming language. +Haxe support is in alpha. + +Discuss usage at: https://github.com/HaxeGodot/godot/discussions + +Report bugs about the editor plugin at: https://github.com/HaxeGodot/editor-plugin/issues/ +Report bugs about the code support at: https://github.com/HaxeGodot/godot/issues/ +" diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scenes/building.tscn b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/building.tscn new file mode 100644 index 00000000..a55795c4 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/building.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://addons/haxe/scripts/building.gd" type="Script" id=1] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.219608, 0.211765, 0.227451, 1 ) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color( 0.270588, 0.270588, 0.270588, 1 ) +corner_radius_top_left = 4 + +[node name="Control" type="Control"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -152.0 +margin_top = -38.5 +margin_right = 152.0 +margin_bottom = 38.5 +script = ExtResource( 1 ) + +[node name="Background" type="Panel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_styles/panel = SubResource( 1 ) + +[node name="Label" type="Label" parent="."] +anchor_right = 1.0 +margin_bottom = 26.0 +text = "Building Haxe project..." +align = 1 +valign = 1 +autowrap = true +clip_text = true + +[node name="ProgressBar" type="ProgressBar" parent="."] +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = 11.0 +margin_top = -6.5 +margin_right = -11.0 +margin_bottom = 7.5 +max_value = 1.0 diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scenes/new_script.tscn b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/new_script.tscn new file mode 100644 index 00000000..6e918987 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/new_script.tscn @@ -0,0 +1,130 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/haxe/scripts/new_script.gd" type="Script" id=1] + +[node name="NewScript" type="WindowDialog"] +margin_right = 350.0 +margin_bottom = 270.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +window_title = "Attach Node Haxe Script" +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MarginContainer" type="MarginContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] +margin_right = 330.0 +margin_bottom = 250.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="GridContainer" type="GridContainer" parent="MarginContainer/VBoxContainer"] +margin_right = 330.0 +margin_bottom = 52.0 +columns = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer"] +margin_top = 5.0 +margin_right = 54.0 +margin_bottom = 19.0 +text = "Inherits:" + +[node name="ClassValue" type="LineEdit" parent="MarginContainer/VBoxContainer/GridContainer"] +margin_left = 58.0 +margin_right = 330.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "VBoxContainer" + +[node name="PathLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer"] +margin_top = 33.0 +margin_right = 54.0 +margin_bottom = 47.0 +text = "Path:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Path" type="HBoxContainer" parent="MarginContainer/VBoxContainer/GridContainer"] +margin_left = 58.0 +margin_top = 28.0 +margin_right = 330.0 +margin_bottom = 52.0 + +[node name="PathValue" type="LineEdit" parent="MarginContainer/VBoxContainer/GridContainer/Path"] +margin_right = 256.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 +text = "res://scripts/VBoxContainer.hx" + +[node name="Load" type="Button" parent="MarginContainer/VBoxContainer/GridContainer/Path"] +margin_left = 260.0 +margin_right = 272.0 +margin_bottom = 24.0 + +[node name="PaddingTop" type="Control" parent="MarginContainer/VBoxContainer"] +margin_top = 56.0 +margin_right = 330.0 +margin_bottom = 66.0 +rect_min_size = Vector2( 0, 10 ) + +[node name="TextEdit" type="RichTextLabel" parent="MarginContainer/VBoxContainer"] +margin_top = 70.0 +margin_right = 330.0 +margin_bottom = 212.0 +rect_min_size = Vector2( 0, 110 ) +size_flags_vertical = 3 +bbcode_enabled = true +scroll_active = false + +[node name="PaddingBottom" type="Control" parent="MarginContainer/VBoxContainer"] +margin_top = 216.0 +margin_right = 330.0 +margin_bottom = 226.0 +rect_min_size = Vector2( 0, 10 ) + +[node name="Buttons" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +margin_top = 230.0 +margin_right = 330.0 +margin_bottom = 250.0 +alignment = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Left" type="Button" parent="MarginContainer/VBoxContainer/Buttons"] +margin_left = 92.0 +margin_right = 146.0 +margin_bottom = 20.0 +text = "Cancel" + +[node name="Padding" type="Control" parent="MarginContainer/VBoxContainer/Buttons"] +margin_left = 150.0 +margin_right = 180.0 +margin_bottom = 20.0 +rect_min_size = Vector2( 30, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Right" type="Button" parent="MarginContainer/VBoxContainer/Buttons"] +margin_left = 184.0 +margin_right = 237.0 +margin_bottom = 20.0 +text = "Create" diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scenes/tab.tscn b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/tab.tscn new file mode 100644 index 00000000..c4784550 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scenes/tab.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/haxe/scripts/tab.gd" type="Script" id=1] + +[node name="Tab" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 0, 200 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_min_size = Vector2( 0, 200 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Button" type="Button" parent="VBoxContainer"] +margin_right = 130.0 +margin_bottom = 20.0 +size_flags_horizontal = 0 +text = "Build Haxe Project" + +[node name="TextLog" type="TextEdit" parent="VBoxContainer"] +margin_top = 24.0 +margin_right = 130.0 +margin_bottom = 200.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +readonly = true +context_menu_enabled = false diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/Setup.hx b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/Setup.hx new file mode 100644 index 00000000..0e2301b3 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/Setup.hx @@ -0,0 +1,182 @@ +import sys.io.Process; +import haxe.xml.Access; +import sys.FileSystem; +import sys.io.File; + +using StringTools; + +class Setup { + public static function main() { + // Checking haxelib for godot externs. + final haxelibCheck = new Process("haxelib", ["path", "godot"]); + if (haxelibCheck.exitCode() != 0) { + Sys.print("haxelib"); + return; + } + + // Find unique csproj file. + var csproj = null; + + for (entry in FileSystem.readDirectory(".")) { + if (FileSystem.isDirectory(entry)) { + continue; + } + + if (entry.endsWith(".csproj")) { + if (csproj != null) { + Sys.print("multiple_csproj"); + return; + } + + csproj = entry; + } + } + + if (csproj == null) { + Sys.print("csproj"); + return; + } + + // Dirty check. + final dirty = ["build.hxml", "build/", "scripts/"].filter(entry -> FileSystem.exists(entry)); + + if (dirty.length != 0) { + Sys.print("dirty:" + dirty.join(" ")); + return; + } + + // Update csproj file. + final csprojData = new Access(Xml.parse(File.getContent(csproj))); + final propertyGroup = csprojData.node.Project.node.PropertyGroup; + + for (property in propertyGroup.elements) { + switch (property.name) { + case "AllowUnsafeBlocks", "TargetFramework": + propertyGroup.x.removeChild(property.x); + + default: + } + } + + propertyGroup.x.addChild(Xml.parse("true")); + propertyGroup.x.addChild(Xml.parse("netstandard2.1")); + + File.saveContent(csproj, XmlPrinter.print(csprojData.x)); + + // Create project. + FileSystem.createDirectory("scripts"); + File.saveContent("scripts/import.hx", "import godot.*;\nimport godot.GD.*;\n\nusing godot.Utils;\n"); + File.saveContent("build.hxml", "--cs build\n--define net-ver=50\n--define no-compilation\n--define analyzer-optimize\n--class-path scripts\n--library godot\n--macro godot.Godot.buildProject()\n--dce full\n"); + + final ret = Sys.command("haxe", ["build.hxml"]); + if (ret == 0) { + Sys.print("ok"); + } + } +} + +// Modified version of haxe.xml.Printer +class XmlPrinter { + static public function print(xml:Xml) { + final printer = new XmlPrinter(); + printer.writeNode(xml, ""); + return printer.output.toString(); + } + + var output:StringBuf; + + function new() { + output = new StringBuf(); + } + + function writeNode(value:Xml, indent:String) { + switch (value.nodeType) { + case CData: + write(indent + ""); + newline(); + case Comment: + var commentContent = value.nodeValue; + commentContent = ~/[\n\r\t]+/g.replace(commentContent, ""); + commentContent = ""; + write(indent); + write(StringTools.trim(commentContent)); + newline(); + case Document: + for (child in value) { + writeNode(child, indent); + } + case Element: + write(indent + "<"); + write(value.nodeName); + for (attribute in value.attributes()) { + write(" " + attribute + "=\""); + write(StringTools.htmlEscape(value.get(attribute), true)); + write("\""); + } + if (hasChildren(value)) { + final textOnly = hasTextOnly(value); + write(">"); + if (!textOnly) { + newline(); + } + for (child in value) { + writeNode(child, textOnly ? "" : (indent + " ")); + } + write((textOnly ? "" : indent) + ""); + newline(); + } else { + write("/>"); + newline(); + } + case PCData: + final nodeValue = value.nodeValue.trim(); + if (nodeValue.length != 0) { + write(indent + StringTools.htmlEscape(nodeValue)); + } + case ProcessingInstruction: + write(""); + newline(); + case DocType: + write(""); + newline(); + } + } + + inline function write(input:String) { + output.add(input); + } + + inline function newline() { + output.add("\n"); + } + + function hasTextOnly(value:Xml):Bool { + for (child in value) { + switch (child.nodeType) { + case PCData: + default: + return false; + } + } + return true; + } + + function hasChildren(value:Xml):Bool { + for (child in value) { + switch (child.nodeType) { + case Element, PCData: + return true; + case CData, Comment: + if (StringTools.ltrim(child.nodeValue).length != 0) { + return true; + } + case _: + } + } + return false; + } +} diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/building.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/building.gd new file mode 100644 index 00000000..f861440c --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/building.gd @@ -0,0 +1,16 @@ +tool +class_name Building + +extends Control + +func build_haxe_project(): + print("Building haxe project..."); + + var res = OS.execute("haxe", ["build.hxml"], true); + + $ProgressBar.value = 1 + yield(VisualServer, 'frame_post_draw') + + print("Project builded with code: ", res) + + queue_free() diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/constants.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/constants.gd new file mode 100644 index 00000000..da7c82d8 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/constants.gd @@ -0,0 +1,6 @@ +tool +class_name HaxePluginConstants + +const SETTING_HIDE_NATIVE_SCRIPT_FIELD := "haxe/hide_native_script_field" +const SETTING_EXTERNAL_EDITOR := "haxe/external_editor" +const BUILD_ON_PLAY := "haxe/build_on_play" diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/editor_property.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/editor_property.gd new file mode 100644 index 00000000..ce884ab4 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/editor_property.gd @@ -0,0 +1,164 @@ +tool +class_name HaxePluginEditorProperty +extends EditorProperty + +var haxe_icon := preload("res://addons/haxe/icons/haxe.svg") +var new_script_dialog := preload("res://addons/haxe/scenes/new_script.tscn") + +var base:Control +var object:Node +var script_name := "" +var script_path := "" +var b:MenuButton +var b2:MenuButton + +func setup(base:Control, object:Node) -> void: + self.base = base + self.object = object + label = "Haxe Script" + + var h := HBoxContainer.new() + + # TODO revert icon + b = MenuButton.new() + b.flat = true + h.add_child(b) + + b2 = MenuButton.new() + b2.flat = true + b2.icon = base.get_icon("GuiDropdown", "EditorIcons") + h.add_child(b2) + + add_child(h) + + update_property() + +func setup_menu(base:Control, button:MenuButton, has_script:bool) -> void: + if not button.is_connected("gui_input", self, "on_menu_gui"): + button.connect("gui_input", self, "on_menu_gui") + + var menu := button.get_popup() + + for i in range(menu.get_item_count()): + menu.remove_item(0) + + if not has_script: + menu.add_icon_item(base.get_icon("ScriptCreate", "EditorIcons"), "New Haxe Script") + else: + menu.add_icon_item(base.get_icon("ScriptRemove", "EditorIcons"), "Remove Haxe Script") + + menu.add_icon_item(base.get_icon("Load", "EditorIcons"), "Load Haxe Script") + + if has_script: + menu.add_icon_item(base.get_icon("Edit", "EditorIcons"), "Edit") + + if not menu.is_connected("index_pressed", self, "on_popup_select"): + menu.connect("index_pressed", self, "on_popup_select", [has_script]) + +func on_menu_gui(event:InputEvent) -> void: + # If is right click then pretend it's a left click + if event is InputEventMouseButton and event.pressed and event.button_index == 2: + event.button_index = 1 + +func on_popup_select(id:int, has_script:bool) -> void: + if id == 0: # New/Remove + if not has_script: # New + var dialog := new_script_dialog.instance() + dialog.setup(base, object.get_class(), object.get_path().get_name(object.get_path().get_name_count() - 1)) + dialog.theme = base.theme + dialog.connect("create", self, "on_create") + base.add_child(dialog) + dialog.popup_centered() + else: # Remove + object.remove_meta("haxe_script") + object.set_script(null) + elif id == 1: # Load + var dialog := EditorFileDialog.new() + base.add_child(dialog) + dialog.access = EditorFileDialog.ACCESS_RESOURCES + dialog.current_dir = "res://scripts/" + dialog.mode = EditorFileDialog.MODE_OPEN_FILE + dialog.theme = base.theme + dialog.add_filter("*.hx ; Haxe script") + dialog.connect("file_selected", self, "on_load_file") + dialog.popup_centered_ratio() + elif id == 2: # Edit + open_file(script_path) + else: + print("Unknown entry: ", id) + +func on_create(is_load:bool, class_value:String, path_value:String) -> void: + if not is_load: + var f := path_value.find_last("/") + var name := path_value.substr(f + 1, path_value.find_last(".hx") - f - 1) + + var d := path_value.substr(14).split("/") + d.remove(d.size() - 1) + + var pack := d.join(".") + if not pack.empty(): + pack = " " + pack; + + if class_value == name: + class_value = "godot." + class_value + + var file := File.new() + file.open(path_value, File.WRITE) + file.store_string("package" + pack + ";\n\nclass " + name + " extends " + class_value + " {\n}\n") + file.close() + + open_file(path_value) + + on_load_file(path_value) + +func open_file(path:String) -> void: + var editor:String = ProjectSettings.get(HaxePluginConstants.SETTING_EXTERNAL_EDITOR) + if editor == "None": + pass + elif editor == "VSCode": + OS.execute("code", [ProjectSettings.globalize_path(path)], false) + else: + print("Unknown external editor: " + editor) + +func on_load_file(path:String) -> void: + object.set_meta("haxe_script", path) + var cs_path := path.replace("res://scripts", "") + var p := cs_path.find_last("/") + var name := cs_path.substr(p, cs_path.length() - 2 - p) + "cs" + cs_path = "build/src" + cs_path.substr(0, p) + + var d := Directory.new() + d.make_dir_recursive(cs_path) + + var file_path := "res://" + cs_path + name + var cs_file := File.new() + if not cs_file.file_exists(file_path): + cs_file.open(file_path, File.WRITE) + cs_file.store_string("\n") + cs_file.close() + object.set_script(load(file_path)) + +func update_property() -> void: + var script_name := "[empty]" + + if object.has_meta("haxe_script"): + if not object.get_script(): + object.remove_meta("haxe_script") + else: + script_path = object.get_meta("haxe_script") + var p := script_path.find_last("/") + script_name = script_path.substr(p + 1) + + var has_script := script_path != "" + + b.size_flags_horizontal = MenuButton.SIZE_EXPAND_FILL + if has_script: + b.icon = haxe_icon + b.text = script_name + b.hint_tooltip = script_path + setup_menu(base, b, has_script) + + setup_menu(base, b2, has_script) + +func get_tooltip_text() -> String: + return "Haxe Script" diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/haxe.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/haxe.gd new file mode 100644 index 00000000..e1e18fe8 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/haxe.gd @@ -0,0 +1,103 @@ +tool +class_name HaxePlugin +extends EditorPlugin + +var about_dialog := preload("res://addons/haxe/scenes/about.tscn") +var tab := preload("res://addons/haxe/scenes/tab.tscn").instance() +var build_dialog := preload("res://addons/haxe/scenes/building.tscn") + +var inspector_plugin:HaxePluginInspectorPlugin + +func _enter_tree() -> void: + var base := get_editor_interface().get_base_control() + + # Init + setup_settings() + + # Inspector plugin + inspector_plugin = HaxePluginInspectorPlugin.new() + inspector_plugin.setup(base) + add_inspector_plugin(inspector_plugin) + + # Tool menu entry + var menu := PopupMenu.new() + menu.add_item("About") + menu.add_item("Setup") + menu.connect("index_pressed", self, "on_menu") + add_tool_submenu_item("Haxe", menu) + + # Bottom dock tab + tab.setup(base) + add_control_to_bottom_panel(tab, "Haxe") + +func _exit_tree() -> void: + # TODO tab.gd still leaks? + remove_control_from_bottom_panel(tab) + tab.queue_free() + remove_tool_menu_item("Haxe") + remove_inspector_plugin(inspector_plugin) + +func setup_settings() -> void: + if not ProjectSettings.has_setting(HaxePluginConstants.SETTING_HIDE_NATIVE_SCRIPT_FIELD): + ProjectSettings.set_setting(HaxePluginConstants.SETTING_HIDE_NATIVE_SCRIPT_FIELD, true) + + if not ProjectSettings.has_setting(HaxePluginConstants.SETTING_EXTERNAL_EDITOR): + ProjectSettings.set_setting(HaxePluginConstants.SETTING_EXTERNAL_EDITOR, "VSCode") + ProjectSettings.add_property_info({ + "name": HaxePluginConstants.SETTING_EXTERNAL_EDITOR, + "type": TYPE_STRING, + "hint": PROPERTY_HINT_ENUM, + "hint_string": "None,VSCode" + }); + + if not ProjectSettings.has_setting(HaxePluginConstants.BUILD_ON_PLAY): + ProjectSettings.set_setting(HaxePluginConstants.BUILD_ON_PLAY, false) + +func on_menu(id:int) -> void: + var theme := get_editor_interface().get_base_control().theme + + if id == 0: # About + var dialog := about_dialog.instance() + add_child(dialog) + dialog.theme = theme + dialog.popup_centered() + elif id == 1: # Setup + var output := [] + OS.execute("haxe", ["--class-path", "addons/haxe/scripts", "--run", "Setup"], true, output, true) + + var dialog := AcceptDialog.new() + add_child(dialog) + + if output.size() != 1: + dialog.dialog_text = "Unknown error:\n" + PoolStringArray(output).join("\n") + elif "command not found" in output[0].to_lower(): + dialog.dialog_text = "Haxe command not found." + elif output[0] == "haxelib": + dialog.dialog_text = "Godot externs not found.\nRun 'haxelib install godot' first." + elif output[0] == "multiple_csproj": + dialog.dialog_text = "Multiple C# solutions found.\nCannot setup." + elif output[0] == "csproj": + dialog.dialog_text = "C# solution not found (.csproj file).\nYou need to setup Godot Mono first:\nProject -> Tools -> Mono -> Create C# solution." + elif output[0].begins_with("dirty:"): + dialog.dialog_text = "Project already contains: " + output[0].substr(6) + "\nTo avoid data loss the setup wasn't run." + elif output[0] == "ok": + dialog.dialog_text = "Setup successful." + else: + dialog.dialog_text = "Unknown error: " + output[0] + + dialog.theme = theme + dialog.window_title = "Haxe Setup" + dialog.popup_centered() + else: + print("Unknown menu: ", id) + +func _input(event): + if event is InputEventKey and ProjectSettings.get_setting(HaxePluginConstants.BUILD_ON_PLAY): + if event.scancode == KEY_F5 or event.scancode == KEY_F6 and event.echo: + var dialog = build_dialog.instance() + + add_child(dialog) + + yield(VisualServer, 'frame_post_draw') + + dialog.call("build_haxe_project") diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/inspector_plugin.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/inspector_plugin.gd new file mode 100644 index 00000000..d94ef74b --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/inspector_plugin.gd @@ -0,0 +1,22 @@ +tool +class_name HaxePluginInspectorPlugin +extends EditorInspectorPlugin + +var base:Control + +func setup(base:Control) -> void: + self.base = base + +#warning-ignore:unused_argument +func can_handle(object:Object) -> bool: + return true + +#warning-ignore:unused_argument +func parse_property(object:Object, type:int, path:String, hint:int, hint_text:String, usage:int) -> bool: + if object is Node and type == TYPE_OBJECT and path == "script": + var e := HaxePluginEditorProperty.new() + e.setup(base, object) + add_custom_control(e) + return ProjectSettings.get_setting(HaxePluginConstants.SETTING_HIDE_NATIVE_SCRIPT_FIELD) + + return false diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/new_script.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/new_script.gd new file mode 100644 index 00000000..dad50e25 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/new_script.gd @@ -0,0 +1,157 @@ +tool +extends WindowDialog + +signal create(is_load, class_value, path_value) + +var base:Control + +var cancel_button:Button +var create_button:Button + +var class_valid := true +var path_valid := true +var name_valid := true +var name_warning := false +var extension_valid := true + +var is_load := false +var class_value := "" +var path_value := "" + +func setup(base:Control, class_value:String, name:String) -> void: + self.base = base + + var left := $MarginContainer/VBoxContainer/Buttons/Left + var right := $MarginContainer/VBoxContainer/Buttons/Right + + if OS.get_name() == "Windows" or OS.get_name() == "UWP": + setup_buttons(right, left) + else: + setup_buttons(left, right) + + $MarginContainer/VBoxContainer/GridContainer/ClassValue.connect("text_changed", self, "on_class") + $MarginContainer/VBoxContainer/GridContainer/Path/PathValue.connect("text_changed", self, "on_path") + + var path_button := $MarginContainer/VBoxContainer/GridContainer/Path/Load + path_button.icon = base.get_icon("Folder", "EditorIcons") + path_button.connect("button_down", self, "on_folder") + + on_class(class_value) + on_path("res://scripts/" + name.substr(0, 1).to_upper() + name.substr(1) + ".hx") + +func setup_buttons(cancel:Button, create:Button) -> void: + cancel.text = "Cancel" + cancel.connect("button_down", self, "on_cancel") + cancel_button = cancel + + create.text = "Create" + create.connect("button_down", self, "on_create") + create_button = create + +func on_cancel() -> void: + hide() + +func on_create() -> void: + hide() + emit_signal("create", is_load, class_value, path_value) + +func on_class(value:String) -> void: + class_value = value + class_valid = ClassDB.class_exists(value) and ClassDB.can_instance(value) + revalidate() + +func on_folder() -> void: + var file := path_value + file = file.substr(file.find_last("/") + 1) + + var dialog := EditorFileDialog.new() + base.add_child(dialog) + dialog.access = EditorFileDialog.ACCESS_RESOURCES + dialog.current_dir = "res://scripts/" + dialog.current_file = file + dialog.disable_overwrite_warning = true + dialog.theme = base.theme + dialog.window_title = "Open Haxe Script / Choose Location" + dialog.add_filter("*.hx ; Haxe script") + dialog.connect("file_selected", self, "on_path") + dialog.get_ok().text = "Open" + dialog.popup_centered_ratio() + +func on_path(fullpath:String) -> void: + path_value = fullpath + + var dir_p := fullpath.find_last("/") + var ext_p := fullpath.find_last(".") + + var path := "" + var file := "" + + if dir_p < ext_p: + path = fullpath.substr(0, dir_p) + file = fullpath.substr(dir_p + 1) + else: + path = fullpath + + var d := Directory.new() + var f := File.new() + + is_load = f.file_exists(path_value) + extension_valid = file.ends_with(".hx") + name_valid = ext_p < fullpath.length() - 1 and ext_p > dir_p + 1 + name_warning = name_valid && extension_valid && isBuiltin(file.substr(0, file.length() - 3)) + path_valid = path.begins_with("res://") and d.dir_exists(path) + revalidate() + +func isBuiltin(name:String) -> bool: + var haxeGodotBuiltins = ["Action", "CustomSignal", "CustomSignalUsings", "Godot", "Nullable1", "Signal", "SignalUsings", "Utils"] + return ClassDB.class_exists(name) or haxeGodotBuiltins.has(name) + +func revalidate() -> void: + var text_edit := $MarginContainer/VBoxContainer/TextEdit + text_edit.bbcode_text = "" + + var valid_color := Color(0.062775, 0.730469, 0.062775) + var error_color := Color(0.820312, 0.028839, 0.028839) + var warning_color := Color(0.9375, 0.537443, 0.06958) + + if not class_valid: + text_edit.push_color(error_color) + text_edit.append_bbcode("- Invalid inherited parent name.\n\n") + text_edit.pop() + elif not extension_valid: + text_edit.push_color(error_color) + text_edit.append_bbcode("- Invalid extension.\n\n") + text_edit.pop() + elif not path_valid: + text_edit.push_color(error_color) + text_edit.append_bbcode("- Invalid path.\n\n") + text_edit.pop() + elif not name_valid: + text_edit.push_color(error_color) + text_edit.append_bbcode("- Invalid filename.\n\n") + text_edit.pop() + else: + text_edit.push_color(valid_color) + text_edit.append_bbcode("- Haxe script path is valid.\n\n") + + if is_load: + text_edit.append_bbcode("- Will load an existing Haxe script.\n\n") + else: + text_edit.append_bbcode("- Will create a new Haxe script.\n\n") + + text_edit.pop() + + if name_warning: + text_edit.push_color(warning_color) + text_edit.append_bbcode("Warning: Having the script name be the same as a built-in type is usually not desired.\n\n") + text_edit.pop() + + var class_edit:LineEdit = $MarginContainer/VBoxContainer/GridContainer/ClassValue + var class_edit_column := class_edit.caret_position + class_edit.text = class_value + class_edit.caret_position = class_edit_column if class_edit_column <= class_value.length() else class_value.length() + + var path_edit:LineEdit = $MarginContainer/VBoxContainer/GridContainer/Path/PathValue + var path_edit_column := path_edit.caret_position + path_edit.text = path_value + path_edit.caret_position = path_edit_column if path_edit_column <= path_value.length() else path_value.length() diff --git a/projects/_standalone/nat-godot-playground/addons/haxe/scripts/tab.gd b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/tab.gd new file mode 100644 index 00000000..d7aebd21 --- /dev/null +++ b/projects/_standalone/nat-godot-playground/addons/haxe/scripts/tab.gd @@ -0,0 +1,67 @@ +tool +extends Control + +onready var button := $VBoxContainer/Button +onready var text_log := $VBoxContainer/TextLog + +var base:Control +var icon := 0 +var icons := [] +var mutex := Mutex.new() +var output := [] +var time := 0.0 +var thread:Thread = null + +func setup(base:Control) -> void: + self.base = base + + for i in range(8): + icons.append(base.get_icon("Progress%s"%(i + 1), "EditorIcons")) + +func _ready() -> void: + button.connect("button_down", self, "build_haxe_project") + +func build_haxe_project() -> void: + if thread != null: + return + + thread = Thread.new() + + button.icon = icons[0] + button.text = "Building Haxe Project ..." + icon = 0 + text_log.text = "" + time = 0.0 + output = [] + + thread.start(self, "run_thread") + +func _process(delta:float) -> void: + if thread != null: + update_log() + time += delta + if time > 0.1: + time = 0 + icon = (icon + 1) % 8 + button.icon = icons[icon] + +func run_thread(userdata) -> void: + var ret := OS.execute("haxe", ["build.hxml"], true, output, true) + update_log() + button.icon = base.get_icon("StatusSuccess" if ret == 0 else "StatusError", "EditorIcons") + button.text = "Build Haxe Project" + call_deferred("end_thread") + +func end_thread() -> void: + thread.wait_to_finish() + thread = null + +func update_log() -> void: + mutex.lock() + text_log.text = PoolStringArray(output).join("\n") + mutex.unlock() + +func _exit_tree(): + if thread != null: + thread.wait_to_finish() + thread = null diff --git a/projects/nat-godot-playground/build.hxml b/projects/_standalone/nat-godot-playground/build.hxml similarity index 100% rename from projects/nat-godot-playground/build.hxml rename to projects/_standalone/nat-godot-playground/build.hxml diff --git a/projects/nat-godot-playground/default_env.tres b/projects/_standalone/nat-godot-playground/default_env.tres similarity index 100% rename from projects/nat-godot-playground/default_env.tres rename to projects/_standalone/nat-godot-playground/default_env.tres diff --git a/projects/nat-godot-playground/icon.png b/projects/_standalone/nat-godot-playground/icon.png similarity index 100% rename from projects/nat-godot-playground/icon.png rename to projects/_standalone/nat-godot-playground/icon.png diff --git a/projects/nat-godot-playground/nat-godot-playground.csproj b/projects/_standalone/nat-godot-playground/nat-godot-playground.csproj similarity index 100% rename from projects/nat-godot-playground/nat-godot-playground.csproj rename to projects/_standalone/nat-godot-playground/nat-godot-playground.csproj diff --git a/projects/nat-godot-playground/nat-godot-playground.sln b/projects/_standalone/nat-godot-playground/nat-godot-playground.sln similarity index 100% rename from projects/nat-godot-playground/nat-godot-playground.sln rename to projects/_standalone/nat-godot-playground/nat-godot-playground.sln diff --git a/projects/nat-godot-playground/playgrounds.json b/projects/_standalone/nat-godot-playground/playgrounds.json similarity index 100% rename from projects/nat-godot-playground/playgrounds.json rename to projects/_standalone/nat-godot-playground/playgrounds.json diff --git a/projects/nat-godot-playground/project.godot b/projects/_standalone/nat-godot-playground/project.godot similarity index 100% rename from projects/nat-godot-playground/project.godot rename to projects/_standalone/nat-godot-playground/project.godot diff --git a/projects/nat-godot-playground/scripts/EntryPanel.hx b/projects/_standalone/nat-godot-playground/scripts/EntryPanel.hx similarity index 100% rename from projects/nat-godot-playground/scripts/EntryPanel.hx rename to projects/_standalone/nat-godot-playground/scripts/EntryPanel.hx diff --git a/projects/nat-godot-playground/scripts/EntryPanelSystem.hx b/projects/_standalone/nat-godot-playground/scripts/EntryPanelSystem.hx similarity index 100% rename from projects/nat-godot-playground/scripts/EntryPanelSystem.hx rename to projects/_standalone/nat-godot-playground/scripts/EntryPanelSystem.hx diff --git a/projects/nat-godot-playground/scripts/EntryPanelSystem.kiss b/projects/_standalone/nat-godot-playground/scripts/EntryPanelSystem.kiss similarity index 100% rename from projects/nat-godot-playground/scripts/EntryPanelSystem.kiss rename to projects/_standalone/nat-godot-playground/scripts/EntryPanelSystem.kiss diff --git a/projects/nat-godot-playground/scripts/GodotUI.hx b/projects/_standalone/nat-godot-playground/scripts/GodotUI.hx similarity index 100% rename from projects/nat-godot-playground/scripts/GodotUI.hx rename to projects/_standalone/nat-godot-playground/scripts/GodotUI.hx diff --git a/projects/nat-godot-playground/scripts/GodotUI.kiss b/projects/_standalone/nat-godot-playground/scripts/GodotUI.kiss similarity index 100% rename from projects/nat-godot-playground/scripts/GodotUI.kiss rename to projects/_standalone/nat-godot-playground/scripts/GodotUI.kiss diff --git a/projects/nat-godot-playground/scripts/PlaygroundEntries.hx b/projects/_standalone/nat-godot-playground/scripts/PlaygroundEntries.hx similarity index 100% rename from projects/nat-godot-playground/scripts/PlaygroundEntries.hx rename to projects/_standalone/nat-godot-playground/scripts/PlaygroundEntries.hx diff --git a/projects/nat-godot-playground/scripts/RootNode.hx b/projects/_standalone/nat-godot-playground/scripts/RootNode.hx similarity index 100% rename from projects/nat-godot-playground/scripts/RootNode.hx rename to projects/_standalone/nat-godot-playground/scripts/RootNode.hx diff --git a/projects/nat-godot-playground/scripts/RootNode.kiss b/projects/_standalone/nat-godot-playground/scripts/RootNode.kiss similarity index 100% rename from projects/nat-godot-playground/scripts/RootNode.kiss rename to projects/_standalone/nat-godot-playground/scripts/RootNode.kiss diff --git a/projects/nat-godot-playground/scripts/import.hx b/projects/_standalone/nat-godot-playground/scripts/import.hx similarity index 100% rename from projects/nat-godot-playground/scripts/import.hx rename to projects/_standalone/nat-godot-playground/scripts/import.hx diff --git a/projects/nat-godot-playground/test.sh b/projects/_standalone/nat-godot-playground/test.sh similarity index 100% rename from projects/nat-godot-playground/test.sh rename to projects/_standalone/nat-godot-playground/test.sh diff --git a/projects/pdf-salad/.gitignore b/projects/_standalone/pdf-salad/.gitignore similarity index 100% rename from projects/pdf-salad/.gitignore rename to projects/_standalone/pdf-salad/.gitignore diff --git a/projects/pdf-salad/README.md b/projects/_standalone/pdf-salad/README.md similarity index 100% rename from projects/pdf-salad/README.md rename to projects/_standalone/pdf-salad/README.md diff --git a/projects/pdf-salad/build.hxml b/projects/_standalone/pdf-salad/build.hxml similarity index 100% rename from projects/pdf-salad/build.hxml rename to projects/_standalone/pdf-salad/build.hxml diff --git a/projects/pdf-salad/example-input/LICENSE b/projects/_standalone/pdf-salad/example-input/LICENSE similarity index 100% rename from projects/pdf-salad/example-input/LICENSE rename to projects/_standalone/pdf-salad/example-input/LICENSE diff --git a/projects/pdf-salad/example-input/antique-phone-shop.pdf b/projects/_standalone/pdf-salad/example-input/antique-phone-shop.pdf similarity index 100% rename from projects/pdf-salad/example-input/antique-phone-shop.pdf rename to projects/_standalone/pdf-salad/example-input/antique-phone-shop.pdf diff --git a/projects/pdf-salad/example-input/smashbrosgo.pdf b/projects/_standalone/pdf-salad/example-input/smashbrosgo.pdf similarity index 100% rename from projects/pdf-salad/example-input/smashbrosgo.pdf rename to projects/_standalone/pdf-salad/example-input/smashbrosgo.pdf diff --git a/projects/pdf-salad/package-lock.json b/projects/_standalone/pdf-salad/package-lock.json similarity index 100% rename from projects/pdf-salad/package-lock.json rename to projects/_standalone/pdf-salad/package-lock.json diff --git a/projects/pdf-salad/package.json b/projects/_standalone/pdf-salad/package.json similarity index 100% rename from projects/pdf-salad/package.json rename to projects/_standalone/pdf-salad/package.json diff --git a/projects/pdf-salad/src/Externs.hx b/projects/_standalone/pdf-salad/src/Externs.hx similarity index 100% rename from projects/pdf-salad/src/Externs.hx rename to projects/_standalone/pdf-salad/src/Externs.hx diff --git a/projects/pdf-salad/src/Main.hx b/projects/_standalone/pdf-salad/src/Main.hx similarity index 100% rename from projects/pdf-salad/src/Main.hx rename to projects/_standalone/pdf-salad/src/Main.hx diff --git a/projects/pdf-salad/src/Main_.kiss b/projects/_standalone/pdf-salad/src/Main_.kiss similarity index 100% rename from projects/pdf-salad/src/Main_.kiss rename to projects/_standalone/pdf-salad/src/Main_.kiss diff --git a/projects/pdf-salad/test.sh b/projects/_standalone/pdf-salad/test.sh similarity index 100% rename from projects/pdf-salad/test.sh rename to projects/_standalone/pdf-salad/test.sh diff --git a/projects/smart-stretch-reminder/.gitignore b/projects/_standalone/smart-stretch-reminder/.gitignore similarity index 100% rename from projects/smart-stretch-reminder/.gitignore rename to projects/_standalone/smart-stretch-reminder/.gitignore diff --git a/projects/smart-stretch-reminder/.vscodeignore b/projects/_standalone/smart-stretch-reminder/.vscodeignore similarity index 100% rename from projects/smart-stretch-reminder/.vscodeignore rename to projects/_standalone/smart-stretch-reminder/.vscodeignore diff --git a/projects/smart-stretch-reminder/README.md b/projects/_standalone/smart-stretch-reminder/README.md similarity index 100% rename from projects/smart-stretch-reminder/README.md rename to projects/_standalone/smart-stretch-reminder/README.md diff --git a/projects/smart-stretch-reminder/build.hxml b/projects/_standalone/smart-stretch-reminder/build.hxml similarity index 100% rename from projects/smart-stretch-reminder/build.hxml rename to projects/_standalone/smart-stretch-reminder/build.hxml diff --git a/projects/smart-stretch-reminder/package-lock.json b/projects/_standalone/smart-stretch-reminder/package-lock.json similarity index 100% rename from projects/smart-stretch-reminder/package-lock.json rename to projects/_standalone/smart-stretch-reminder/package-lock.json diff --git a/projects/smart-stretch-reminder/package.json b/projects/_standalone/smart-stretch-reminder/package.json similarity index 100% rename from projects/smart-stretch-reminder/package.json rename to projects/_standalone/smart-stretch-reminder/package.json diff --git a/projects/smart-stretch-reminder/src/Main.hx b/projects/_standalone/smart-stretch-reminder/src/Main.hx similarity index 100% rename from projects/smart-stretch-reminder/src/Main.hx rename to projects/_standalone/smart-stretch-reminder/src/Main.hx diff --git a/projects/smart-stretch-reminder/src/Main.kiss b/projects/_standalone/smart-stretch-reminder/src/Main.kiss similarity index 100% rename from projects/smart-stretch-reminder/src/Main.kiss rename to projects/_standalone/smart-stretch-reminder/src/Main.kiss diff --git a/projects/smart-stretch-reminder/test.sh b/projects/_standalone/smart-stretch-reminder/test.sh similarity index 100% rename from projects/smart-stretch-reminder/test.sh rename to projects/_standalone/smart-stretch-reminder/test.sh diff --git a/projects/tig-spy/.gitignore b/projects/_standalone/tig-spy/.gitignore similarity index 100% rename from projects/tig-spy/.gitignore rename to projects/_standalone/tig-spy/.gitignore diff --git a/projects/tig-spy/build.hxml b/projects/_standalone/tig-spy/build.hxml similarity index 100% rename from projects/tig-spy/build.hxml rename to projects/_standalone/tig-spy/build.hxml diff --git a/projects/tig-spy/icons/icon-48.png b/projects/_standalone/tig-spy/icons/icon-48.png similarity index 100% rename from projects/tig-spy/icons/icon-48.png rename to projects/_standalone/tig-spy/icons/icon-48.png diff --git a/projects/tig-spy/manifest.json b/projects/_standalone/tig-spy/manifest.json similarity index 100% rename from projects/tig-spy/manifest.json rename to projects/_standalone/tig-spy/manifest.json diff --git a/projects/tig-spy/package-lock.json b/projects/_standalone/tig-spy/package-lock.json similarity index 100% rename from projects/tig-spy/package-lock.json rename to projects/_standalone/tig-spy/package-lock.json diff --git a/projects/tig-spy/package.json b/projects/_standalone/tig-spy/package.json similarity index 100% rename from projects/tig-spy/package.json rename to projects/_standalone/tig-spy/package.json diff --git a/projects/tig-spy/src/tig_spy/Background.hx b/projects/_standalone/tig-spy/src/tig_spy/Background.hx similarity index 100% rename from projects/tig-spy/src/tig_spy/Background.hx rename to projects/_standalone/tig-spy/src/tig_spy/Background.hx diff --git a/projects/tig-spy/src/tig_spy/Background.kiss b/projects/_standalone/tig-spy/src/tig_spy/Background.kiss similarity index 100% rename from projects/tig-spy/src/tig_spy/Background.kiss rename to projects/_standalone/tig-spy/src/tig_spy/Background.kiss diff --git a/projects/tig-spy/src/tig_spy/Main.hx b/projects/_standalone/tig-spy/src/tig_spy/Main.hx similarity index 100% rename from projects/tig-spy/src/tig_spy/Main.hx rename to projects/_standalone/tig-spy/src/tig_spy/Main.hx diff --git a/projects/tig-spy/src/tig_spy/Main_.kiss b/projects/_standalone/tig-spy/src/tig_spy/Main_.kiss similarity index 100% rename from projects/tig-spy/src/tig_spy/Main_.kiss rename to projects/_standalone/tig-spy/src/tig_spy/Main_.kiss diff --git a/projects/tig-spy/src/tig_spy/Message.hx b/projects/_standalone/tig-spy/src/tig_spy/Message.hx similarity index 100% rename from projects/tig-spy/src/tig_spy/Message.hx rename to projects/_standalone/tig-spy/src/tig_spy/Message.hx diff --git a/projects/tig-spy/test.sh b/projects/_standalone/tig-spy/test.sh similarity index 100% rename from projects/tig-spy/test.sh rename to projects/_standalone/tig-spy/test.sh diff --git a/projects/kiss-vscode/kiss-vscode-0.0.18.vsix b/projects/kiss-vscode/kiss-vscode-0.0.18.vsix deleted file mode 100644 index c255ec49..00000000 Binary files a/projects/kiss-vscode/kiss-vscode-0.0.18.vsix and /dev/null differ diff --git a/projects/nat-godot-playground/addons/haxe b/projects/nat-godot-playground/addons/haxe deleted file mode 160000 index 9a7367a7..00000000 --- a/projects/nat-godot-playground/addons/haxe +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9a7367a79a2dd3ca0059a94450ceba9d733b1a98