7 Commits

Author SHA1 Message Date
mrhid6 33a1201424 feat: Inital 1.2 update 2026-06-05 21:42:53 +01:00
mrhid6 dbcd107343 feat: Raw Pointers to TObjectPtr migration 2026-06-05 21:19:21 +01:00
mrhid6 74badcca9b Bump version to 1.0.7.
Mod Build / Setup (push) Successful in 12s
Mod Build / PullMods (RefinedRDApi) (push) Successful in 2s
Mod Build / UpdateUPlugins (RefinedRDApi) (push) Successful in 2s
Mod Build / CompileEditor (push) Successful in 3m24s
Mod Build / BuildMods (RefinedRDApi) (push) Successful in 10m24s
Mod Build / SMRDeploy (push) Successful in 39s
2025-06-16 18:04:41 +01:00
mrhid6 0b4b8c5e07 chore: Bump game version 2025-06-10 17:08:44 +01:00
mrhid6 9b59c2bc05 chore: Bump SML Version 2025-06-07 12:58:51 +01:00
mrhid6 01283bc50a chore: Bump SML Version 2025-06-03 21:31:07 +01:00
mrhid6 39ecb1df11 feat(SP): New buildings data assets 2025-05-07 23:26:48 +01:00
12 changed files with 103 additions and 28 deletions
+3 -2
View File
@@ -19,7 +19,7 @@ jobs:
steps: steps:
- name: Setup SML - name: Setup SML
run: | run: |
if (!(Test-Path ${{env.SML_DIR}} -PathType Container)) {git clone --branch master https://github.com/satisfactorymodding/SatisfactoryModLoader.git ${{env.SML_DIR}}} if (!(Test-Path ${{env.SML_DIR}} -PathType Container)) {git clone --branch dev https://github.com/satisfactorymodding/SatisfactoryModLoader.git ${{env.SML_DIR}}}
- name: Install WWise - name: Install WWise
run: | run: |
cd ${{env.SML_DIR}} cd ${{env.SML_DIR}}
@@ -33,7 +33,8 @@ jobs:
git lfs fetch --all git lfs fetch --all
git lfs pull git lfs pull
git lfs checkout git lfs checkout
copy-item ${{env.SML_DIR}}/SML_WwiseProject/SML-DEV_WwiseProject.wproj ${{env.SML_DIR}}/SML_WwiseProject/SML_WwiseProject.wproj -force & "C:/Program Files (x86)/Audiokinetic/Wwise2023.1.3.8471/Authoring/x64/Release/bin/WwiseConsole.exe" generate-soundbank "${{env.SML_DIR}}/SML_WwiseProject/SML_WwiseProject.wproj" --platform Windows Mac --verbose
echo "Done"
- name: "SML Headers" - name: "SML Headers"
run: | run: |
cd S:/SF/Scripts/sml-fixer cd S:/SF/Scripts/sml-fixer
+6
View File
@@ -1,3 +1,9 @@
## 1.0.7 (June 16, 2025)
- chore: Bump game version
- chore: Bump SML Version
- chore: Bump SML Version
- feat(SP): New buildings data assets
## 1.0.6 (March 06, 2025) ## 1.0.6 (March 06, 2025)
- feat: SML Bump - feat: SML Bump
- feat: Bump SML - feat: Bump SML
+4 -4
View File
@@ -1,8 +1,8 @@
{ {
"FileVersion": 3, "FileVersion": 3,
"Version": 1, "Version": 1,
"VersionName": "1.0.6", "VersionName": "1.0.7",
"SemVersion": "1.0.6", "SemVersion": "1.0.7",
"FriendlyName": "Refined R&D Api", "FriendlyName": "Refined R&D Api",
"Description": "This Lib can be used to create Mod Compatability with Refined R&D Mods", "Description": "This Lib can be used to create Mod Compatability with Refined R&D Mods",
"Category": "Modding", "Category": "Modding",
@@ -26,8 +26,8 @@
{ {
"Name": "SML", "Name": "SML",
"Enabled": true, "Enabled": true,
"SemVersion": "^3.10.0" "SemVersion": "^3.11.3"
} }
], ],
"GameVersion": ">=383729" "GameVersion": ">=491125"
} }
@@ -0,0 +1,3 @@
//
#include "DataAssets/RRDADataAssetSolarPower.h"
@@ -70,6 +70,8 @@ void URRDADataAssetSubsystem::StartScanForDataAssets() {
ReCacheDSItemFilters(); ReCacheDSItemFilters();
ReCacheDSModAdapterDataAssets(); ReCacheDSModAdapterDataAssets();
ReCacheDSAdapterCoversDataAssets(); ReCacheDSAdapterCoversDataAssets();
ReCacheSolarPowerDataAssets();
} }
void URRDADataAssetSubsystem::ReCacheDirtDataAssets() { void URRDADataAssetSubsystem::ReCacheDirtDataAssets() {
@@ -236,6 +238,24 @@ void URRDADataAssetSubsystem::ReCacheDSItemFilters() {
UE_LOGFMT(LogRRDApi, Log, "ReCacheDSItemFilters: {0}", mDSBuildingData.Num()); UE_LOGFMT(LogRRDApi, Log, "ReCacheDSItemFilters: {0}", mDSBuildingData.Num());
} }
void URRDADataAssetSubsystem::ReCacheSolarPowerDataAssets()
{
mSolarPowerAssets.Empty();
TSet<URRDADataAssetSolarPower*> DataAssets;
if (FindAllDataAssetsOfClass(DataAssets)) {
for (URRDADataAssetSolarPower* DataAsset : DataAssets) {
fgcheckf(DataAsset->mInput.ItemClass, TEXT("SolarPowerDataAsset %s has no ItemClass"), *DataAsset->GetPathName());
if (!mSolarPowerAssets.Contains(DataAsset)) {
mSolarPowerAssets.AddUnique(DataAsset);
}
}
}
UE_LOG(LogRRDApi, Log, TEXT("ReCacheSolarPowerDataAssets: %d"), mSolarPowerAssets.Num());
}
int32 URRDADataAssetSubsystem::GetAllDirtItems(TArray<TSubclassOf<UFGItemDescriptor>>& Items) const { int32 URRDADataAssetSubsystem::GetAllDirtItems(TArray<TSubclassOf<UFGItemDescriptor>>& Items) const {
if (!mDirtAssets.Num()) { if (!mDirtAssets.Num()) {
UE_LOG(LogRRDApi, Error, TEXT("No Dirts found!")); UE_LOG(LogRRDApi, Error, TEXT("No Dirts found!"));
@@ -245,13 +265,13 @@ int32 URRDADataAssetSubsystem::GetAllDirtItems(TArray<TSubclassOf<UFGItemDescrip
URRDADirtDataAsset* URRDADataAssetSubsystem::GetDataForDirtItem(TSubclassOf<UFGItemDescriptor> Item) const { URRDADirtDataAsset* URRDADataAssetSubsystem::GetDataForDirtItem(TSubclassOf<UFGItemDescriptor> Item) const {
if (!Item) return nullptr; if (!Item) return nullptr;
URRDADirtDataAsset* const* Desc = mDirtAssets.Find(Item); TObjectPtr<URRDADirtDataAsset> const* Desc = mDirtAssets.Find(Item);
if (!Desc) return nullptr; if (!Desc) return nullptr;
return *Desc; return *Desc;
} }
TArray<URRDADirtDataAsset*> URRDADataAssetSubsystem::GetAllDirtAssets() const { TArray<URRDADirtDataAsset*> URRDADataAssetSubsystem::GetAllDirtAssets() const {
TArray<URRDADirtDataAsset*> Assets; TArray<TObjectPtr<URRDADirtDataAsset>> Assets;
mDirtAssets.GenerateValueArray(Assets); mDirtAssets.GenerateValueArray(Assets);
return Assets; return Assets;
} }
@@ -382,7 +402,7 @@ TArray<URRDATurbineDataAsset*> URRDADataAssetSubsystem::GetAllTurbineAssets(int3
return TArray<URRDATurbineDataAsset*>(); return TArray<URRDATurbineDataAsset*>();
} }
TArray<URRDATurbineDataAsset*> Assets; TArray<TObjectPtr<URRDATurbineDataAsset>> Assets;
mTurbineAssets[Tier].Data.GenerateValueArray(Assets); mTurbineAssets[Tier].Data.GenerateValueArray(Assets);
return Assets; return Assets;
} }
@@ -424,7 +444,7 @@ TArray<URRDACoolerDataAsset*> URRDADataAssetSubsystem::GetAllCoolerAssets(ERRDAC
return TArray<URRDACoolerDataAsset*>(); return TArray<URRDACoolerDataAsset*>();
} }
TArray<URRDACoolerDataAsset*> Assets; TArray<TObjectPtr<URRDACoolerDataAsset>> Assets;
mCoolerAssets[Type].Data.GenerateValueArray(Assets); mCoolerAssets[Type].Data.GenerateValueArray(Assets);
return Assets; return Assets;
@@ -470,7 +490,7 @@ TArray<URRDABoilerDataAsset*> URRDADataAssetSubsystem::GetAllBoilerAssets(int32
return TArray<URRDABoilerDataAsset*>(); return TArray<URRDABoilerDataAsset*>();
} }
TArray<URRDABoilerDataAsset*> Assets; TArray<TObjectPtr<URRDABoilerDataAsset>> Assets;
mBoilerAssets[Tier].Data.GenerateValueArray(Assets); mBoilerAssets[Tier].Data.GenerateValueArray(Assets);
return Assets; return Assets;
@@ -511,8 +531,13 @@ TArray<URRDAHeaterDataAsset*> URRDADataAssetSubsystem::GetAllHeaterAssets(ERRDAH
return TArray<URRDAHeaterDataAsset*>(); return TArray<URRDAHeaterDataAsset*>();
} }
TArray<URRDAHeaterDataAsset*> Assets; TArray<TObjectPtr<URRDAHeaterDataAsset>> Assets;
mHeaterAssets[Type].Data.GenerateValueArray(Assets); mHeaterAssets[Type].Data.GenerateValueArray(Assets);
return Assets; return Assets;
} }
TArray<URRDADataAssetSolarPower*> URRDADataAssetSubsystem::GetAllSolarPowerAssets() const
{
return mSolarPowerAssets;
}
@@ -42,5 +42,5 @@ public:
* Curve for the production to Heat * Curve for the production to Heat
*/ */
UPROPERTY( EditDefaultsOnly, BlueprintReadOnly, Category = "Boiler" ) UPROPERTY( EditDefaultsOnly, BlueprintReadOnly, Category = "Boiler" )
UCurveFloat* mBoilerCurve; TObjectPtr<UCurveFloat> mBoilerCurve;
}; };
@@ -24,7 +24,7 @@ public:
/* The Adapter Cover Asset */ /* The Adapter Cover Asset */
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter") UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter")
URRDADataAssetDSAdapterCovers* mAdapterCoversAsset; TObjectPtr<URRDADataAssetDSAdapterCovers> mAdapterCoversAsset;
/* Select which inventories can be accessed by Digital Storage */ /* Select which inventories can be accessed by Digital Storage */
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter") UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="ModAdapter")
@@ -0,0 +1,32 @@
#pragma once
#include "CoreMinimal.h"
#include "RRDADataAssetBase.h"
#include "ItemAmount.h"
#include "RRDADataAssetSolarPower.generated.h"
UCLASS( BlueprintType )
class REFINEDRDAPI_API URRDADataAssetSolarPower : public URRDADataAssetBase
{
GENERATED_BODY()
public:
/**
* Fuel item that this uses
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
FItemAmount mInput;
/**
* What this produces
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
FItemAmount mOutput;
/**
* What the min heat is needed to produce
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SolarPower")
float mMinHeatValue = 0.0f;
};
@@ -36,5 +36,5 @@ public:
* Curve that defines the power output of the generator * Curve that defines the power output of the generator
*/ */
UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Generator" ) UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Generator" )
UCurveFloat* mGeneratorCurve; TObjectPtr<UCurveFloat> mGeneratorCurve;
}; };
@@ -15,6 +15,7 @@
#include "DataAssets/RRDACoolerDataAsset.h" #include "DataAssets/RRDACoolerDataAsset.h"
#include "DataAssets/RRDADataAssetDSItemFilter.h" #include "DataAssets/RRDADataAssetDSItemFilter.h"
#include "DataAssets/RRDADataAssetDSModAdapter.h" #include "DataAssets/RRDADataAssetDSModAdapter.h"
#include "DataAssets/RRDADataAssetSolarPower.h"
#include "Enums/RRDARPEnums.h" #include "Enums/RRDARPEnums.h"
#include "Resources/FGItemDescriptor.h" #include "Resources/FGItemDescriptor.h"
@@ -27,7 +28,7 @@ struct FRRDADataHolderTurbineData
GENERATED_BODY() GENERATED_BODY()
UPROPERTY(BlueprintReadOnly) UPROPERTY(BlueprintReadOnly)
TMap<TSubclassOf<UFGItemDescriptor>, URRDATurbineDataAsset*> Data; TMap<TSubclassOf<UFGItemDescriptor>, TObjectPtr<URRDATurbineDataAsset>> Data;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
@@ -36,7 +37,7 @@ struct FRRDADataHolderBoilerData
GENERATED_BODY() GENERATED_BODY()
UPROPERTY(BlueprintReadOnly) UPROPERTY(BlueprintReadOnly)
TMap<TSubclassOf<UFGItemDescriptor>, URRDABoilerDataAsset*> Data; TMap<TSubclassOf<UFGItemDescriptor>, TObjectPtr<URRDABoilerDataAsset>> Data;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
@@ -45,7 +46,7 @@ struct FRRDADataHolderCoolerData
GENERATED_BODY() GENERATED_BODY()
UPROPERTY(BlueprintReadOnly) UPROPERTY(BlueprintReadOnly)
TMap<TSubclassOf<UFGItemDescriptor>, URRDACoolerDataAsset*> Data; TMap<TSubclassOf<UFGItemDescriptor>, TObjectPtr<URRDACoolerDataAsset>> Data;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
@@ -54,7 +55,7 @@ struct FRRDADataHolderHeaterData
GENERATED_BODY() GENERATED_BODY()
UPROPERTY(BlueprintReadOnly) UPROPERTY(BlueprintReadOnly)
TMap<TSubclassOf<UFGItemDescriptor>, URRDAHeaterDataAsset*> Data; TMap<TSubclassOf<UFGItemDescriptor>, TObjectPtr<URRDAHeaterDataAsset>> Data;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
@@ -63,13 +64,13 @@ struct FRRDADataHolderDSBuildingData
GENERATED_BODY() GENERATED_BODY()
UPROPERTY() UPROPERTY()
URRDADataAssetDSAdapterCovers* AdapterCovers; TObjectPtr<URRDADataAssetDSAdapterCovers> AdapterCovers;
UPROPERTY() UPROPERTY()
URRDADataAssetDSModAdapter* ModAdapter; TObjectPtr<URRDADataAssetDSModAdapter> ModAdapter;
UPROPERTY() UPROPERTY()
TArray<URRDADataAssetDSItemFilter*> ItemFilters; TArray<TObjectPtr<URRDADataAssetDSItemFilter>> ItemFilters;
}; };
UCLASS() UCLASS()
@@ -103,6 +104,7 @@ public:
void ReCacheDSModAdapterDataAssets(); void ReCacheDSModAdapterDataAssets();
void ReCacheDSAdapterCoversDataAssets(); void ReCacheDSAdapterCoversDataAssets();
void ReCacheDSItemFilters(); void ReCacheDSItemFilters();
void ReCacheSolarPowerDataAssets();
public: public:
// Dirt Functions // Dirt Functions
@@ -211,6 +213,9 @@ public:
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|MP") UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|MP")
TArray<URRDAHeaterDataAsset*> GetAllHeaterAssets(ERRDAHeaterType Type) const; TArray<URRDAHeaterDataAsset*> GetAllHeaterAssets(ERRDAHeaterType Type) const;
UFUNCTION(BlueprintPure, Category = "RRDA|DataAsset|RP|Solar")
TArray<URRDADataAssetSolarPower*> GetAllSolarPowerAssets() const;
public: public:
/** /**
* Find all data assets of a specific class * Find all data assets of a specific class
@@ -222,13 +227,13 @@ public:
public: public:
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TMap<TSubclassOf<UFGItemDescriptor>, URRDADirtDataAsset*> mDirtAssets; TMap<TSubclassOf<UFGItemDescriptor>, TObjectPtr<URRDADirtDataAsset>> mDirtAssets;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TMap<TSubclassOf<AFGBuildableFactory>, FRRDADataHolderDSBuildingData> mDSBuildingData; TMap<TSubclassOf<AFGBuildableFactory>, FRRDADataHolderDSBuildingData> mDSBuildingData;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TMap<int32, URRDAGeneratorDataAsset*> mGeneratorAssets; TMap<int32, TObjectPtr<URRDAGeneratorDataAsset>> mGeneratorAssets;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TMap<int32, FRRDADataHolderTurbineData> mTurbineAssets; TMap<int32, FRRDADataHolderTurbineData> mTurbineAssets;
@@ -243,10 +248,13 @@ public:
TMap<ERRDAHeaterType, FRRDADataHolderHeaterData> mHeaterAssets; TMap<ERRDAHeaterType, FRRDADataHolderHeaterData> mHeaterAssets;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TSet<URRDADataAssetBase*> mDisabledDataAssets; TArray<TObjectPtr<URRDADataAssetSolarPower>> mSolarPowerAssets;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset") UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TSet<URRDADataAssetBase*> mEnabledDataAssets; TSet<TObjectPtr<URRDADataAssetBase>> mDisabledDataAssets;
UPROPERTY(BlueprintReadOnly, Category = "RRDA|DataAsset")
TSet<TObjectPtr<URRDADataAssetBase>> mEnabledDataAssets;
}; };
template <class T> template <class T>
+1 -1
View File
@@ -47,7 +47,7 @@ public class RefinedRDApi : ModuleRules
PublicDependencyModuleNames.AddRange(new[] PublicDependencyModuleNames.AddRange(new[]
{ {
"AbstractInstance", "AbstractInstance",
"InstancedSplinesComponent", //"InstancedSplinesComponent",
"SignificanceISPC" "SignificanceISPC"
}); });
+1 -1
View File
@@ -1 +1 @@
1.0.6 1.0.7