diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..569c208 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +testing.ini +3rd-party-bin diff --git a/BrewedPC/KFClassicHUD.u b/BrewedPC/KFClassicHUD.u deleted file mode 100644 index 71b92e1..0000000 Binary files a/BrewedPC/KFClassicHUD.u and /dev/null differ diff --git a/BrewedPC/KFClassicMode_Assets.upk b/KFClassicHUD/Assets/KFClassicMode_Assets.upk similarity index 100% rename from BrewedPC/KFClassicMode_Assets.upk rename to KFClassicHUD/Assets/KFClassicMode_Assets.upk diff --git a/Src/KFClassicHUD/Classes/ClassicHUD.uc b/KFClassicHUD/Classes/ClassicHUD.uc similarity index 100% rename from Src/KFClassicHUD/Classes/ClassicHUD.uc rename to KFClassicHUD/Classes/ClassicHUD.uc diff --git a/Src/KFClassicHUD/Classes/ClassicKFHUD.uc b/KFClassicHUD/Classes/ClassicKFHUD.uc similarity index 100% rename from Src/KFClassicHUD/Classes/ClassicKFHUD.uc rename to KFClassicHUD/Classes/ClassicKFHUD.uc diff --git a/Src/KFClassicHUD/Classes/ClassicStyle.uc b/KFClassicHUD/Classes/ClassicStyle.uc similarity index 100% rename from Src/KFClassicHUD/Classes/ClassicStyle.uc rename to KFClassicHUD/Classes/ClassicStyle.uc diff --git a/Src/KFClassicHUD/Classes/DamageReplicationInfo.uc b/KFClassicHUD/Classes/DamageReplicationInfo.uc similarity index 100% rename from Src/KFClassicHUD/Classes/DamageReplicationInfo.uc rename to KFClassicHUD/Classes/DamageReplicationInfo.uc diff --git a/Src/KFClassicHUD/Classes/GUIStyleBase.uc b/KFClassicHUD/Classes/GUIStyleBase.uc similarity index 100% rename from Src/KFClassicHUD/Classes/GUIStyleBase.uc rename to KFClassicHUD/Classes/GUIStyleBase.uc diff --git a/Src/KFClassicHUD/Classes/KF1HUD_BossHealthBar.uc b/KFClassicHUD/Classes/KF1HUD_BossHealthBar.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1HUD_BossHealthBar.uc rename to KFClassicHUD/Classes/KF1HUD_BossHealthBar.uc diff --git a/Src/KFClassicHUD/Classes/KF1HUD_ChatBoxWidget.uc b/KFClassicHUD/Classes/KF1HUD_ChatBoxWidget.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1HUD_ChatBoxWidget.uc rename to KFClassicHUD/Classes/KF1HUD_ChatBoxWidget.uc diff --git a/Src/KFClassicHUD/Classes/KF1HUD_MusicNotification.uc b/KFClassicHUD/Classes/KF1HUD_MusicNotification.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1HUD_MusicNotification.uc rename to KFClassicHUD/Classes/KF1HUD_MusicNotification.uc diff --git a/Src/KFClassicHUD/Classes/KF1HUD_PlayerStatus.uc b/KFClassicHUD/Classes/KF1HUD_PlayerStatus.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1HUD_PlayerStatus.uc rename to KFClassicHUD/Classes/KF1HUD_PlayerStatus.uc diff --git a/Src/KFClassicHUD/Classes/KF1HUD_WeaponSelectWidget.uc b/KFClassicHUD/Classes/KF1HUD_WeaponSelectWidget.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1HUD_WeaponSelectWidget.uc rename to KFClassicHUD/Classes/KF1HUD_WeaponSelectWidget.uc diff --git a/Src/KFClassicHUD/Classes/KF1_HUDWrapper.uc b/KFClassicHUD/Classes/KF1_HUDWrapper.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF1_HUDWrapper.uc rename to KFClassicHUD/Classes/KF1_HUDWrapper.uc diff --git a/Src/KFClassicHUD/Classes/KF2GUIController.uc b/KFClassicHUD/Classes/KF2GUIController.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF2GUIController.uc rename to KFClassicHUD/Classes/KF2GUIController.uc diff --git a/Src/KFClassicHUD/Classes/KF2GUIInput.uc b/KFClassicHUD/Classes/KF2GUIInput.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF2GUIInput.uc rename to KFClassicHUD/Classes/KF2GUIInput.uc diff --git a/Src/KFClassicHUD/Classes/KF2Style.uc b/KFClassicHUD/Classes/KF2Style.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KF2Style.uc rename to KFClassicHUD/Classes/KF2Style.uc diff --git a/Src/KFClassicHUD/Classes/KFColorHelper.uc b/KFClassicHUD/Classes/KFColorHelper.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFColorHelper.uc rename to KFClassicHUD/Classes/KFColorHelper.uc diff --git a/Src/KFClassicHUD/Classes/KFGUIConsoleHack.uc b/KFClassicHUD/Classes/KFGUIConsoleHack.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUIConsoleHack.uc rename to KFClassicHUD/Classes/KFGUIConsoleHack.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Base.uc b/KFClassicHUD/Classes/KFGUI_Base.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Base.uc rename to KFClassicHUD/Classes/KFGUI_Base.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Button.uc b/KFClassicHUD/Classes/KFGUI_Button.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Button.uc rename to KFClassicHUD/Classes/KFGUI_Button.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_CategoryButton.uc b/KFClassicHUD/Classes/KFGUI_CategoryButton.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_CategoryButton.uc rename to KFClassicHUD/Classes/KFGUI_CategoryButton.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_CategoryList.uc b/KFClassicHUD/Classes/KFGUI_CategoryList.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_CategoryList.uc rename to KFClassicHUD/Classes/KFGUI_CategoryList.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_CheckBox.uc b/KFClassicHUD/Classes/KFGUI_CheckBox.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_CheckBox.uc rename to KFClassicHUD/Classes/KFGUI_CheckBox.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Clickable.uc b/KFClassicHUD/Classes/KFGUI_Clickable.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Clickable.uc rename to KFClassicHUD/Classes/KFGUI_Clickable.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ColorSlider.uc b/KFClassicHUD/Classes/KFGUI_ColorSlider.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ColorSlider.uc rename to KFClassicHUD/Classes/KFGUI_ColorSlider.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ColumnList.uc b/KFClassicHUD/Classes/KFGUI_ColumnList.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ColumnList.uc rename to KFClassicHUD/Classes/KFGUI_ColumnList.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ColumnTop.uc b/KFClassicHUD/Classes/KFGUI_ColumnTop.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ColumnTop.uc rename to KFClassicHUD/Classes/KFGUI_ColumnTop.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ComboBox.uc b/KFClassicHUD/Classes/KFGUI_ComboBox.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ComboBox.uc rename to KFClassicHUD/Classes/KFGUI_ComboBox.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ComboSelector.uc b/KFClassicHUD/Classes/KFGUI_ComboSelector.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ComboSelector.uc rename to KFClassicHUD/Classes/KFGUI_ComboSelector.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ComponentList.uc b/KFClassicHUD/Classes/KFGUI_ComponentList.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ComponentList.uc rename to KFClassicHUD/Classes/KFGUI_ComponentList.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_EditBox.uc b/KFClassicHUD/Classes/KFGUI_EditBox.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_EditBox.uc rename to KFClassicHUD/Classes/KFGUI_EditBox.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_EditControl.uc b/KFClassicHUD/Classes/KFGUI_EditControl.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_EditControl.uc rename to KFClassicHUD/Classes/KFGUI_EditControl.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_FloatingWindow.uc b/KFClassicHUD/Classes/KFGUI_FloatingWindow.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_FloatingWindow.uc rename to KFClassicHUD/Classes/KFGUI_FloatingWindow.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_FloatingWindowHeader.uc b/KFClassicHUD/Classes/KFGUI_FloatingWindowHeader.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_FloatingWindowHeader.uc rename to KFClassicHUD/Classes/KFGUI_FloatingWindowHeader.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Frame.uc b/KFClassicHUD/Classes/KFGUI_Frame.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Frame.uc rename to KFClassicHUD/Classes/KFGUI_Frame.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Image.uc b/KFClassicHUD/Classes/KFGUI_Image.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Image.uc rename to KFClassicHUD/Classes/KFGUI_Image.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_List.uc b/KFClassicHUD/Classes/KFGUI_List.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_List.uc rename to KFClassicHUD/Classes/KFGUI_List.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ListHorz.uc b/KFClassicHUD/Classes/KFGUI_ListHorz.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ListHorz.uc rename to KFClassicHUD/Classes/KFGUI_ListHorz.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ListItem.uc b/KFClassicHUD/Classes/KFGUI_ListItem.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ListItem.uc rename to KFClassicHUD/Classes/KFGUI_ListItem.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_MultiComponent.uc b/KFClassicHUD/Classes/KFGUI_MultiComponent.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_MultiComponent.uc rename to KFClassicHUD/Classes/KFGUI_MultiComponent.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Page.uc b/KFClassicHUD/Classes/KFGUI_Page.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Page.uc rename to KFClassicHUD/Classes/KFGUI_Page.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ProgressBar.uc b/KFClassicHUD/Classes/KFGUI_ProgressBar.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ProgressBar.uc rename to KFClassicHUD/Classes/KFGUI_ProgressBar.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_RightClickMenu.uc b/KFClassicHUD/Classes/KFGUI_RightClickMenu.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_RightClickMenu.uc rename to KFClassicHUD/Classes/KFGUI_RightClickMenu.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ScrollBarBase.uc b/KFClassicHUD/Classes/KFGUI_ScrollBarBase.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ScrollBarBase.uc rename to KFClassicHUD/Classes/KFGUI_ScrollBarBase.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ScrollBarH.uc b/KFClassicHUD/Classes/KFGUI_ScrollBarH.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ScrollBarH.uc rename to KFClassicHUD/Classes/KFGUI_ScrollBarH.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_ScrollBarV.uc b/KFClassicHUD/Classes/KFGUI_ScrollBarV.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_ScrollBarV.uc rename to KFClassicHUD/Classes/KFGUI_ScrollBarV.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Slider.uc b/KFClassicHUD/Classes/KFGUI_Slider.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Slider.uc rename to KFClassicHUD/Classes/KFGUI_Slider.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_SwitchMenuBar.uc b/KFClassicHUD/Classes/KFGUI_SwitchMenuBar.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_SwitchMenuBar.uc rename to KFClassicHUD/Classes/KFGUI_SwitchMenuBar.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_TextField.uc b/KFClassicHUD/Classes/KFGUI_TextField.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_TextField.uc rename to KFClassicHUD/Classes/KFGUI_TextField.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_TextLable.uc b/KFClassicHUD/Classes/KFGUI_TextLable.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_TextLable.uc rename to KFClassicHUD/Classes/KFGUI_TextLable.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_TextScroll.uc b/KFClassicHUD/Classes/KFGUI_TextScroll.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_TextScroll.uc rename to KFClassicHUD/Classes/KFGUI_TextScroll.uc diff --git a/Src/KFClassicHUD/Classes/KFGUI_Tooltip.uc b/KFClassicHUD/Classes/KFGUI_Tooltip.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFGUI_Tooltip.uc rename to KFClassicHUD/Classes/KFGUI_Tooltip.uc diff --git a/Src/KFClassicHUD/Classes/KFScoreBoard.uc b/KFClassicHUD/Classes/KFScoreBoard.uc similarity index 100% rename from Src/KFClassicHUD/Classes/KFScoreBoard.uc rename to KFClassicHUD/Classes/KFScoreBoard.uc diff --git a/Src/KFClassicHUD/Classes/UIP_ColorSettings.uc b/KFClassicHUD/Classes/UIP_ColorSettings.uc similarity index 100% rename from Src/KFClassicHUD/Classes/UIP_ColorSettings.uc rename to KFClassicHUD/Classes/UIP_ColorSettings.uc diff --git a/Src/KFClassicHUD/Classes/UIP_Settings.uc b/KFClassicHUD/Classes/UIP_Settings.uc similarity index 100% rename from Src/KFClassicHUD/Classes/UIP_Settings.uc rename to KFClassicHUD/Classes/UIP_Settings.uc diff --git a/Src/KFClassicHUD/Classes/UI_MidGameMenu.uc b/KFClassicHUD/Classes/UI_MidGameMenu.uc similarity index 100% rename from Src/KFClassicHUD/Classes/UI_MidGameMenu.uc rename to KFClassicHUD/Classes/UI_MidGameMenu.uc diff --git a/Src/KFClassicHUD/Globals.uci b/KFClassicHUD/Globals.uci similarity index 100% rename from Src/KFClassicHUD/Globals.uci rename to KFClassicHUD/Globals.uci diff --git a/make.sh b/make.sh new file mode 100644 index 0000000..9142c13 --- /dev/null +++ b/make.sh @@ -0,0 +1,223 @@ +#!/bin/bash + +# Requirements: git-bash +# https://git-scm.com/download/win + +set -Eeuo pipefail +trap cleanup SIGINT SIGTERM ERR EXIT + +function winpath2unix () # $1: win path +{ + echo "$*" | \ + sed -r 's|^(.):|\\\1|' | \ + sed 's|\\|/|g' +} + +function unixpath2win () # $1: unix path +{ + echo "$*" | \ + sed -r 's|^/(.)|\1:|' | \ + sed 's|/|\\|g' +} + +function reg_readkey () # $1: path, $2: key +{ + winpath2unix $( + reg query "$1" //v "$2" | \ + grep -F "$2" | \ + awk '{ $1=$2=""; print $0 }' ) +} + +function show_help () +{ + echo "$ScriptName" + echo "Usage:" + echo "${ScriptName} OPTION" + echo "Options:" + echo " -c, --compile" + echo " -b, --brew" + echo " -bu, --brew-unpublished" + echo " -u, --upload" + echo " -t, --test" + echo " -h, --help" +} + +function cleanup() +{ + trap - SIGINT SIGTERM ERR EXIT + restore_kfeditorconf +} + +function get_latest_multini () +{ + local ApiUrl="https://api.github.com/repos/GenZmeY/multini/releases/latest" + local LatestTag=$(curl --silent "$ApiUrl" | grep -Po '"tag_name": "\K.*?(?=")') + local DownloadUrl="https://github.com/GenZmeY/multini/releases/download/$LatestTag/multini-windows-amd64.exe" + + mkdir -p "$ThirdPartyBin" + curl -LJs "$DownloadUrl" -o "$ThirdPartyBin/multini.exe" +} + +function backup_kfeditorconf () +{ + cp "$KFEditorConf" "$KFEditorConfBackup" +} + +function restore_kfeditorconf () +{ + if [[ -f "$KFEditorConfBackup" ]]; then + mv -f "$KFEditorConfBackup" "$KFEditorConf" + fi +} + +function setup_modpackages () +{ + multini --set "$KFEditorConf" 'ModPackages' 'ModPackages' 'KFClassicHUD' + multini --set "$KFEditorConf" 'ModPackages' 'ModPackagesInPath' "$(unixpath2win "$MutSource")" +} + +function compiled () +{ + test -f "$MutStructScript/KFClassicHUD.u" +} + +function compile () +{ + if ! command -v multini &> /dev/null; then + get_latest_multini + fi + + backup_kfeditorconf && setup_modpackages + + rm -rf "$MutUnpublish" + mkdir -p \ + "$MutUnpublish" \ + "$MutStructScript" \ + "$MutStructPackages" + + cp -rf "$MutSource/KFClassicHUD/Assets"/*.upk "$MutStructPackages" + + CMD //C "$(unixpath2win "$KFEditor")" make -useunpublished & + local PID="$!" + while ps -p "$PID" &> /dev/null + do + if compiled; then + kill "$PID"; break + fi + sleep 2 + done + + restore_kfeditorconf + + if ! compiled; then + echo "Compilation failed" + return 1 + fi +} + +function brew () +{ + echo "brew command is broken. Use --brew-unpublished or brew from WorkshopUploadToolGUI instead of this." + # CMD //C "$(unixpath2win "$KFEditor")" brewcontent -platform=PC ServerExt ServerExtMut -useunpublished +} + +function brew_unpublished () +{ + rm -rf "$MutPublish" + if ! compiled; then + compile + fi + cp -rf "$MutUnpublish" "$MutPublish" +} + +function generate_wsinfo () # $1: package dir +{ + local Description=$(cat "$MutPubContent/description.txt") + local Title=$(cat "$MutPubContent/title.txt") + local Preview=$(unixpath2win "$MutPubContent/preview.png") + local Tags=$(cat "$MutPubContent/tags.txt") + local PackageDir=$(unixpath2win "$1") + echo "\$Description \"$Description\" +\$Title \"$Title\" +\$PreviewFile \"$Preview\" +\$Tags \"$Tags\" +\$MicroTxItem \"false\" +\$PackageDirectory \"$PackageDir\" +" > "$MutWsInfo" +} + +function upload () +{ + PackageDir=$(mktemp -d -u -p "$KFDoc") + cp -rf "$MutPublish"/* "$PackageDir" + generate_wsinfo "$PackageDir" + CMD //C "$(unixpath2win "$KFWorkshop")" "$MutWsInfoName" + rm -rf "$PackageDir" + rm -f "$MutWsInfo" +} + +function create_default_testing_ini () +{ +echo "Map=\"KF-Outpost\" +Game=\"KFGameContent.KFGameInfo_Survival\" +Difficulty=\"0\" +GameLength=\"0\" +Mutators=\"KFClassicHUD.ClassicHUD\" +Args=\"\"" > "$MutTestingIni" +} + +function game_test () +{ + if ! [[ -r "$MutTestingIni" ]]; then + create_default_testing_ini + fi + source "$MutTestingIni" + CMD //C "$(unixpath2win "$KFGame")" ${Map}?Difficulty=${Difficulty}?GameLength=${GameLength}?Game=${Game}?Mutator=${Mutators}?${Args} -useunpublished -log +} + +ScriptFullname=$(readlink -e "$0") +ScriptName=$(basename "$0") +ScriptDir=$(dirname "$ScriptFullname") + +SteamPath=$(reg_readkey "HKCU\Software\Valve\Steam" "SteamPath") +DocumentsPath=$(reg_readkey "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Personal") + +KFPath="$SteamPath/steamapps/common/killingfloor2" +KFBin="$KFPath/Binaries" +KFEditor="$KFBin/Win64/KFEditor.exe" +KFGame="$KFBin/Win64/KFGame.exe" +KFWorkshop="$KFBin/WorkshopUserTool.exe" + +KFDoc="$DocumentsPath/My Games/KillingFloor2" +KFConfig="$KFDoc/KFGame/Config" + +KFEditorConf="$KFConfig/KFEditor.ini" +KFEditorConfBackup="${KFEditorConf}.backup" + +MutSource="$ScriptDir" +MutPubContent="$MutSource/PublicationContent" +MutUnpublish="$KFDoc/KFGame/Unpublished" +MutPublish="$KFDoc/KFGame/Published" + +MutStructScript="$MutUnpublish/BrewedPC/Script" +MutStructPackages="$MutUnpublish/BrewedPC/Packages" +MutStructLocalization="$MutUnpublish/BrewedPC/Localization" + +MutTestingIni="$MutSource/testing.ini" +MutWsInfoName="wsinfo_serverext.txt" +MutWsInfo="$KFDoc/$MutWsInfoName" + +ThirdPartyBin="$MutSource/3rd-party-bin" + +export PATH="$PATH:$ThirdPartyBin" + +if [[ $# -eq 0 ]]; then show_help; exit 0; fi +case $1 in + -h|--help ) show_help ; ;; + -c|--compile ) compile ; ;; + -b|--brew ) brew ; ;; + -bu|--brew-unpublished ) brew_unpublished ; ;; + -u|--upload ) upload ; ;; + -t|--test ) game_test ; ;; + * ) echo "Command not recognized: $1"; exit 1;; +esac