From 8977081a4961f7cc50e0fef9b44117c9ece327dd Mon Sep 17 00:00:00 2001 From: Shtoyan Date: Sun, 18 Apr 2021 17:13:12 +0400 Subject: [PATCH] new ver --- Batch/compile.bat | 25 +++++++++++++++++ Classes/Add.uc | 19 +++++++++++++ Classes/Clean.uc | 19 +++++++++++++ Classes/KFCmdlet.uc | 39 -------------------------- Classes/Utility.uc | 67 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 32 +++++++++------------- 6 files changed, 143 insertions(+), 58 deletions(-) create mode 100644 Batch/compile.bat create mode 100644 Classes/Add.uc create mode 100644 Classes/Clean.uc delete mode 100644 Classes/KFCmdlet.uc create mode 100644 Classes/Utility.uc diff --git a/Batch/compile.bat b/Batch/compile.bat new file mode 100644 index 0000000..eaf9705 --- /dev/null +++ b/Batch/compile.bat @@ -0,0 +1,25 @@ +@echo off +set mut=ChatIcon +title Compiling %mut% +cd.. +cd System + +echo ---------------------------------------------------- +echo Deleting compiled files of %mut% +echo ---------------------------------------------------- + +del %mut%.u +del %mut%.ucl +del %mut%.int + +echo ---------------------------------------------------- +echo Compiling! +echo ---------------------------------------------------- + +ucc.exe KFCmdlet.Add %mut% +ucc.exe MakeCommandlet -EXPORTCACHE +ucc.exe KFCmdlet.Clean +ucc.exe DumpIntCommandlet %mut%.u + +del steam_appid.txt +pause \ No newline at end of file diff --git a/Classes/Add.uc b/Classes/Add.uc new file mode 100644 index 0000000..2d8e013 --- /dev/null +++ b/Classes/Add.uc @@ -0,0 +1,19 @@ +class Add extends Commandlet; + + +event int Main(string Parms) +{ + class'Utility'.static.EditPackages(Parms, false); + + // this can be used for error handling + // but right now its used to avoid compiler errors + return 0; +} + + +defaultproperties +{ + HelpCmd="Adds your package array to EditPackages" + HelpWebLink="https://github.com/InsultingPros/KFCmdlet" + HelpUsage="run UCC.exe KFCmdlet.Add package_1,package_2,package_3,etc" +} \ No newline at end of file diff --git a/Classes/Clean.uc b/Classes/Clean.uc new file mode 100644 index 0000000..3bc8904 --- /dev/null +++ b/Classes/Clean.uc @@ -0,0 +1,19 @@ +class Clean extends Commandlet; + + +event int Main(string Parms) +{ + class'Utility'.static.EditPackages(Parms, true); + + // this can be used for error handling + // but right now its used to avoid compiler errors + return 0; +} + + +defaultproperties +{ + HelpCmd="Restores vanilla EditPackages" + HelpWebLink="https://github.com/InsultingPros/KFCmdlet" + HelpUsage="run UCC.exe KFCmdlet.Clean" +} \ No newline at end of file diff --git a/Classes/KFCmdlet.uc b/Classes/KFCmdlet.uc deleted file mode 100644 index 82ad40b..0000000 --- a/Classes/KFCmdlet.uc +++ /dev/null @@ -1,39 +0,0 @@ -class KFCmdlet Extends Commandlet; - - -event int Main(string Parms) -{ - local bool bAdd; - local string PackageName; - local int i; - - Log(Parms, Name); - bAdd = Left(Parms, 1) == "1"; - PackageName = Mid(Parms, 2); - if (bAdd) - { - Log( "Adding" @ PackageName, Name ); - class'EditorEngine'.default.EditPackages[class'EditorEngine'.default.EditPackages.Length] = PackageName; - class'EditorEngine'.static.StaticSaveConfig(); - } - else - { - Log("Removing" @ PackageName, Name); - for (i = 0; i < class'EditorEngine'.default.EditPackages.Length; ++ i) - { - if (class'EditorEngine'.default.EditPackages[i] ~= PackageName) - { - class'EditorEngine'.default.EditPackages.Remove( i, 1 ); - break; - } - } - class'EditorEngine'.static.StaticSaveConfig(); - } - - // this can be used for error handling - // but right now its used to avoid compiler errors - return 0; -} - - -defaultproperties{} \ No newline at end of file diff --git a/Classes/Utility.uc b/Classes/Utility.uc new file mode 100644 index 0000000..650c162 --- /dev/null +++ b/Classes/Utility.uc @@ -0,0 +1,67 @@ +class Utility extends Object; + + +// vanilla EditPackages, used both for cleanup and addition +var array defpack; + + +final static function EditPackages(string input, bool clean) +{ + local int i; + local array wordsArray; + + // restore default EditPackages to avoid duplicates and empty lines + class'EditorEngine'.default.EditPackages.Length = 0; + class'EditorEngine'.default.EditPackages = default.defpack; + + if (!clean) + { + // fill the string array + // divider is comma + split(input, ",", wordsArray); + + for (i = 0; i < wordsArray.Length; ++i) + { + log("> KFCmdlet: Adding " $ wordsArray[i] $ " to `EditPackages`"); + class'EditorEngine'.default.EditPackages[class'EditorEngine'.default.EditPackages.Length] = wordsArray[i]; + } + } + + // save it + class'EditorEngine'.static.StaticSaveConfig(); +} + + +defaultproperties +{ + defpack(0)="Core" + defpack(1)="Engine" + defpack(2)="Fire" + defpack(3)="Editor" + defpack(4)="UnrealEd" + defpack(5)="IpDrv" + defpack(6)="UWeb" + defpack(7)="GamePlay" + defpack(8)="UnrealGame" + defpack(9)="XGame" + defpack(10)="XInterface" + defpack(11)="XAdmin" + defpack(12)="XWebAdmin" + defpack(13)="GUI2K4" + defpack(14)="xVoting" + defpack(15)="UTV2004c" + defpack(16)="UTV2004s" + defpack(17)="ROEffects" + defpack(18)="ROEngine" + defpack(19)="ROInterface" + defpack(20)="Old2k4" + defpack(21)="KFMod" + defpack(22)="KFChar" + defpack(23)="KFGui" + defpack(24)="GoodKarma" + defpack(25)="KFMutators" + defpack(26)="KFStoryGame" + defpack(27)="KFStoryUI" + defpack(28)="SideShowScript" + defpack(29)="FrightScript" +} \ No newline at end of file diff --git a/README.md b/README.md index b45a570..e563124 100644 --- a/README.md +++ b/README.md @@ -12,24 +12,18 @@ Testing! ## Usage +* To add your packages: + ```cpp -@echo off -set mut=ChatIcon -title Compiling %mut% -cd.. -cd System -echo ---------------------------------------------------- -echo Deleting compiled files of %mut% -echo ---------------------------------------------------- -del %mut%.u -del %mut%.ucl -del %mut%.int -echo ---------------------------------------------------- -echo Compiling! -echo ---------------------------------------------------- -ucc.exe KFCmdlet.KFCmdlet 1 %mut% -ucc.exe MakeCommandlet -EXPORTCACHE -ucc.exe KFCmdlet.KFCmdlet 0 %mut% -ucc.exe DumpIntCommandlet %mut%.u -pause +ucc.exe KFCmdlet.Add Package_1,Package_2,etc ``` + +* To restore vanilla **EditPackages**: + +```cpp +ucc.exe KFCmdlet.Clean +``` + +* Or use help commands of **UCC**. + +Bat [example](Batch/compile.bat).