diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..55b015e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,28 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +Provide the Debug-File you can generate with SMM. + +**To Reproduce** +Steps to reproduce the behavior: +1. Enter this Command or open this GUI... +2. Click on this and that... +3. Do this... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Additional context** +Add any other context about the problem here. +Like version number (for in-dev versions state the build number and the branch) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..056b71f --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,76 @@ +name: CI + +on: + push: + branches: + - master + - dev + paths: + - "FicsItCam.uplugin" + - "Content/**" + - "Source/**" + - "ThirdParty/**" + pull_request: + branches: + - "master" + - "development" + paths: + - "Content/**" + - "Source/**" + - "ThirdParty/**" + workflow_dispatch: + workflow_call: + secrets: + WWISE_EMAIL: + required: true + WWISE_PASSWORD: + required: true + GH_TOKEN: + required: false + +jobs: + build: + runs-on: windows-latest + steps: + - name: Cleanup + run: Remove-Item C:\workspace\SatisfactoryModLoader -Recurse -Force -Confirm:$false -ErrorAction Ignore + + - uses: actions/checkout@master + with: + repository: satisfactorymodding/SatisfactoryModLoader + ref: refs/heads/dev + path: SatisfactoryModLoader + + - uses: actions/checkout@v2 + with: + path: Mods/FicsItCam + + - name: Add Wwise + run: | + gh release download --repo mircearoata/wwise-cli -p "wwise-cli.exe" + ./wwise-cli.exe download --sdk-version "2022.1.5.8242" --filter Packages=SDK --filter DeploymentPlatforms=Windows_vc140 --filter DeploymentPlatforms=Windows_vc150 --filter DeploymentPlatforms=Windows_vc160 --filter DeploymentPlatforms=Windows_vc170 --filter DeploymentPlatforms=Linux --filter DeploymentPlatforms= + ./wwise-cli.exe integrate-ue --integration-version "2022.1.5.2714" --project "C:\workspace\SatisfactoryModLoader\FactoryGame.uproject" + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + WWISE_EMAIL: ${{ secrets.WWISE_EMAIL }} + WWISE_PASSWORD: ${{ secrets.WWISE_PASSWORD }} + + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v1 + + - name: Generate VS project files + run: C:\workspace\ue\Engine\Build\BatchFiles\Build.bat -projectfiles -project='C:\workspace\SatisfactoryModLoader\FactoryGame.uproject' -game -rocket -progres + + - name: Build for Development Editor + run: MSBuild.exe 'C:\workspace\SatisfactoryModLoader\FactoryGame.sln' /p:Configuration='Development Editor' /p:Platform='Win64' /t:'Games\FactoryGame' -m + + - name: Build for Shipping/Client + run: MSBuild.exe 'C:\workspace\SatisfactoryModLoader\FactoryGame.sln' /p:Configuration='Shipping' /p:Platform='Win64' /t:'Games\FactoryGame' -m + + - name: Package FicsItCam Mod + run: C:\workspace\ue\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject='C:\workspace\SatisfactoryModLoader\FactoryGame.uproject' PackagePlugin -project='C:\workspace\SatisfactoryModLoader\FactoryGame.uproject' -clientconfig=Shipping -serverconfig=Shipping -utf8output -DLCName='FicsItCam' -build -platform=Win64 -nocompileeditor + + - uses: actions/upload-artifact@v3 + with: + name: FicsItCam + path: C:\workspace\SatisfactoryModLoader\Saved\ArchivedPlugins\FicsItCam\FicsItCam-Windows.zip \ No newline at end of file diff --git a/FicsItCam.uplugin b/FicsItCam.uplugin index a6c1f09..59b40ca 100644 --- a/FicsItCam.uplugin +++ b/FicsItCam.uplugin @@ -2,7 +2,7 @@ "FileVersion": 3, "Version": 0, "VersionName": "0.3", - "SemVersion": "0.3.7", + "SemVersion": "0.3.8", "AcceptsAnyRemoteVersion": true, "FriendlyName": "FicsIt-Cam", "Description": "This mod allows you to create beautiful camera animations in-game.", diff --git a/Jenkinsfile b/Jenkinsfile index 2d5deb0..723e84e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,32 +17,51 @@ pipeline { stage('SML') { steps { checkout scm: [ - $class: 'GitSCM', - branches: [[ - name: "master" - ]], - extensions: [[ - $class: 'RelativeTargetDirectory', - relativeTargetDir: 'SatisfactoryModLoader' - ]], - userRemoteConfigs: [[ - url: 'https://github.com/satisfactorymodding/SatisfactoryModLoader.git' - ]] - ] - } + $class: 'GitSCM', + branches: [[ + name: "auto-header-update" + ]], + extensions: [[ + $class: 'RelativeTargetDirectory', + relativeTargetDir: 'SatisfactoryModLoader', + ],[ + $class: 'CloneOption', + timeout: 20, + ],[ + $class: 'CheckoutOption', + timeout: 20, + ]], + userRemoteConfigs: [[ + url: 'https://github.com/satisfactorymodding/SatisfactoryModLoader.git' + ]] + ] + } } stage('Checkout') { steps { - dir("SatisfactoryModLoader/Plugins") { + dir("SatisfactoryModLoader/Mods") { checkout scm: [ $class: 'GitSCM', branches: scm.branches, extensions: [[ $class: 'RelativeTargetDirectory', relativeTargetDir: "${MOD_NAME}" + ],[ + $class: 'CloneOption', + timeout: 20, + ],[ + $class: 'CheckoutOption', + timeout: 20, + ],[ + $class: 'SubmoduleOption', + disableSubmodules: false, + parentCredentials: true, + recursiveSubmodules: true, + reference: '', + trackingSubmodules: false ]], - submoduleCfg: scm.submoduleCfg, + submoduleCfg: [], doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations, userRemoteConfigs: scm.userRemoteConfigs ] @@ -73,10 +92,11 @@ pipeline { bat label: 'Register UE', script: 'SetupScripts\\Register.bat'*/ withCredentials([string(credentialsId: 'GitHub-API', variable: 'GITHUB_TOKEN')]) { retry(3) { - bat label: 'Download UE - Part 1', script: 'github-release download --user SatisfactoryModdingUE --repo UnrealEngine -l -n "UnrealEngine-CSS-Editor-Win64.7z.001" > UnrealEngine-CSS-Editor-Win64.7z.001' - bat label: 'Download UE - Part 2', script: 'github-release download --user SatisfactoryModdingUE --repo UnrealEngine -l -n "UnrealEngine-CSS-Editor-Win64.7z.002" > UnrealEngine-CSS-Editor-Win64.7z.002' + bat label: 'Download UE - Part 1', script: 'github-release download --user SatisfactoryModding --repo UnrealEngine -l -n "UnrealEngine-CSS-Editor-Win64.7z.001" > UnrealEngine-CSS-Editor-Win64.7z.001' + bat label: 'Download UE - Part 2', script: 'github-release download --user SatisfactoryModding --repo UnrealEngine -l -n "UnrealEngine-CSS-Editor-Win64.7z.002" > UnrealEngine-CSS-Editor-Win64.7z.002' + bat label: 'Download UE - Part 2', script: 'github-release download --user SatisfactoryModding --repo UnrealEngine -l -n "UnrealEngine-CSS-Editor-Win64.7z.003" > UnrealEngine-CSS-Editor-Win64.7z.003' } - bat label: '', script: '7z x UnrealEngine-CSS-Editor-Win64.7z.001' + bat label: '', script: '7z x -mmt=10 UnrealEngine-CSS-Editor-Win64.7z.001' } bat label: '', script: 'SetupScripts\\Register.bat' } @@ -86,7 +106,7 @@ pipeline { stage('Build FicsIt-Cam') { steps { - bat label: 'Create project files', script: '.\\ue4\\lb\\win\\Engine\\Binaries\\DotNET\\UnrealBuildTool.exe -projectfiles -project="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" -game -rocket -progress' + bat label: 'Create project files', script: '.\\ue4\\Engine\\Binaries\\DotNET\\UnrealBuildTool\\UnrealBuildTool.exe -projectfiles -project="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" -game -rocket -progress' bat label: 'Build for Shipping', script: 'MSBuild.exe /p:CL_MPCount=5 .\\SatisfactoryModLoader\\FactoryGame.sln /p:Configuration="Shipping" /p:Platform="Win64" /t:"Games\\FactoryGame"' bat label: 'Build for Editor', script: 'MSBuild.exe /p:CL_MPCount=5 .\\SatisfactoryModLoader\\FactoryGame.sln /p:Configuration="Development Editor" /p:Platform="Win64" /t:"Games\\FactoryGame"' } @@ -95,7 +115,7 @@ pipeline { stage('Package FicsIt-Cam') { steps { retry(3) { - bat label: 'Alpakit!', script: '.\\ue4\\lb\\win\\Engine\\Build\\BatchFiles\\RunUAT.bat -ScriptsForProject="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" PackagePlugin -Project="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" -PluginName="%MOD_NAME%"' + bat label: 'Alpakit!', script: '.\\ue4\\Engine\\Build\\BatchFiles\\RunUAT.bat -ScriptsForProject="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" PackagePlugin -project="%WORKSPACE%\\SatisfactoryModLoader\\FactoryGame.uproject" -clientconfig=Shipping -serverconfig=Shipping -utf8output -DLCName="%MOD_NAME%" -build -platform=Win64 -nocompileeditor' } } } @@ -108,8 +128,8 @@ pipeline { } steps { - bat script: "rename .\\SatisfactoryModLoader\\Saved\\ArchivedPlugins\\WindowsNoEditor\\${MOD_NAME}.zip ${MOD_NAME}_${BRANCH_NAME}_${BUILD_NUMBER}.zip" - archiveArtifacts artifacts: "SatisfactoryModLoader\\Saved\\ArchivedPlugins\\WindowsNoEditor\\${MOD_NAME}_${BRANCH_NAME}_${BUILD_NUMBER}.zip", fingerprint: true, onlyIfSuccessful: true + bat script: "rename .\\SatisfactoryModLoader\\Saved\\ArchivedPlugins\\${MOD_NAME}\\${MOD_NAME}-Windows.zip ${MOD_NAME}-Windows_${BRANCH_NAME}_${BUILD_NUMBER}.zip" + archiveArtifacts artifacts: "SatisfactoryModLoader\\Saved\\ArchivedPlugins\\${MOD_NAME}\\${MOD_NAME}-Windows_${BRANCH_NAME}_${BUILD_NUMBER}.zip", fingerprint: true, onlyIfSuccessful: true } } } diff --git a/Source/FicsItCam/Private/Runtime/FICRuntimeProcessorCharacter.cpp b/Source/FicsItCam/Private/Runtime/FICRuntimeProcessorCharacter.cpp index 0a7dc84..a024ba5 100644 --- a/Source/FicsItCam/Private/Runtime/FICRuntimeProcessorCharacter.cpp +++ b/Source/FicsItCam/Private/Runtime/FICRuntimeProcessorCharacter.cpp @@ -73,6 +73,7 @@ void AFICRuntimeProcessorCharacter::UnPossessed() { UFGInputMappingContext* InputMappingContext = LoadObject(nullptr, TEXT("/FicsItCam/Input/IC_FIC_Playback.IC_FIC_Playback")); PlayerController->GetLocalPlayer()->GetSubsystem()->RemoveMappingContext(InputMappingContext); PlayerController->GetHUD()->SetPumpiMode(false); + OldController->EnableInput(PlayerController); // Force Remove Process AFICSubsystem* SubSys = AFICSubsystem::GetFICSubsystem(this);