From cc6d4488369272cb78ff837b1753b4de3f1d86b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Sun, 24 Mar 2024 03:43:28 +0100 Subject: [PATCH 1/2] automatic installation for vs build tools thanks to @crowplexus for the curl and the vs_Community.exe cmd lines! --- README.md | 18 +++--------------- commandline/commands/Compiler.hx | 2 +- commandline/commands/Update.hx | 12 ++++++++++++ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index d09c559a..c4439c44 100644 --- a/README.md +++ b/README.md @@ -30,22 +30,10 @@ In the future (when the engine won't be a WIP anymore) we're gonna also publish ##### Tested on Windows 10 21H2 1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/). -2. Download [Visual Studio Build Tools](https://aka.ms/vs/17/release/vs_BuildTools.exe) -3. Wait for the Visual Studio Installer to install -4. On the Visual Studio installer screen, go to the "Individual components" tab and only select those options: - - MSVC v143 VS 2022 C++ x64/x86 build tools (Latest) - - Windows 10/11 SDK (any works) -5. This is what your Installation details panel should look like. Once correct, press "Install". - - ⚠ This will download around 1.07 GB of data from the internet, and will require around 5.5 GB of available space on your computer. - -

- -

- -6. Once you finish downloading those components, download and install [`git-scm`](https://git-scm.com/download/win). +2. Download and install [`git-scm`](https://git-scm.com/download/win). - Leave all installation options as default. -7. Run `update.bat` using cmd or double-clicking it, and wait for the libraries to install. -8. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time) +3. Run `update.bat` using cmd or double-clicking it, and wait for the libraries to install. +4. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time) - ℹ You can run `haxelib run lime setup` to make the lime command global, allowing you to execute `lime test windows` directly.
diff --git a/commandline/commands/Compiler.hx b/commandline/commands/Compiler.hx index 62000723..fe64c198 100644 --- a/commandline/commands/Compiler.hx +++ b/commandline/commands/Compiler.hx @@ -20,7 +20,7 @@ class Compiler { Sys.command("lime", arg); } - private static function getBuildTarget() { + public static function getBuildTarget() { return switch(Sys.systemName()) { case "Windows": "windows"; diff --git a/commandline/commands/Update.hx b/commandline/commands/Update.hx index d43c3620..a2d81153 100644 --- a/commandline/commands/Update.hx +++ b/commandline/commands/Update.hx @@ -71,6 +71,18 @@ class Update { } } } + + // vswhere.exe its used to find any visual studio related installations on the system, including full visual studio ide installations, visual studio build tools installations, and other related components - Nex + if (Compiler.getBuildTarget().toLowerCase() == "windows" && new Process('"C:/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe" -property catalog_productDisplayVersion').exitCode(true) == 1) { + prettyPrint("Installing Microsoft Visual Studio Community (Dependency)"); + Sys.command("curl -# -O https://download.visualstudio.microsoft.com/download/pr/3105fcfe-e771-41d6-9a1c-fc971e7d03a7/8eb13958dc429a6e6f7e0d6704d43a55f18d02a253608351b6bf6723ffdaf24e/vs_Community.exe"); + Sys.command("vs_Community.exe --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 -p"); + FileSystem.deleteFile("vs_Community.exe"); + + prettyPrint('Because of this component if you want to compile you have to restart the device.'); + Sys.print("Do you wish to do it now [y/n]? "); + if(Sys.stdin().readLine().toLowerCase() == "y") Sys.command("shutdown /r /t 0 /f"); + } } public static function prettyPrint(text:String) { From 6ed2e222c1e75c78b66cb0a53fb53f73213a459f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Sun, 24 Mar 2024 04:27:44 +0100 Subject: [PATCH 2/2] adjusting some last things --- assets/data/characters/gf.xml | 2 +- assets/data/stages/philly.hx | 2 +- assets/data/stages/school.xml | 2 +- assets/data/titlescreen/titlescreen.xml | 4 ++-- commandline/commands/Update.hx | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/data/characters/gf.xml b/assets/data/characters/gf.xml index 44c6f9e5..e9ac6776 100644 --- a/assets/data/characters/gf.xml +++ b/assets/data/characters/gf.xml @@ -7,7 +7,7 @@ - + diff --git a/assets/data/stages/philly.hx b/assets/data/stages/philly.hx index 2a4b9780..989b29b5 100644 --- a/assets/data/stages/philly.hx +++ b/assets/data/stages/philly.hx @@ -90,7 +90,7 @@ function updateTrainPos():Void function trainReset():Void { - gf.playAnim('hairFall'); + gf.playAnim('hairFall', true); phillyTrain.x = FlxG.width + 200; trainMoving = false; // trainSound.stop(); diff --git a/assets/data/stages/school.xml b/assets/data/stages/school.xml index e4c4d5e1..dabf463b 100644 --- a/assets/data/stages/school.xml +++ b/assets/data/stages/school.xml @@ -23,7 +23,7 @@ antialiasing="false" scale="6" scroll="0.85" updateHitbox="true" type="loop"/> - + diff --git a/assets/data/titlescreen/titlescreen.xml b/assets/data/titlescreen/titlescreen.xml index 0ff1053b..f16c8b62 100644 --- a/assets/data/titlescreen/titlescreen.xml +++ b/assets/data/titlescreen/titlescreen.xml @@ -1,8 +1,8 @@ - - + + diff --git a/commandline/commands/Update.hx b/commandline/commands/Update.hx index a2d81153..92ae18c7 100644 --- a/commandline/commands/Update.hx +++ b/commandline/commands/Update.hx @@ -79,7 +79,7 @@ class Update { Sys.command("vs_Community.exe --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 -p"); FileSystem.deleteFile("vs_Community.exe"); - prettyPrint('Because of this component if you want to compile you have to restart the device.'); + prettyPrint('If it didn\'t say it before: Because of this component if you want to compile you have to restart the device.'); Sys.print("Do you wish to do it now [y/n]? "); if(Sys.stdin().readLine().toLowerCase() == "y") Sys.command("shutdown /r /t 0 /f"); }