Skip to content

Commit

Permalink
feat: Rename Lua EEPROM to Text EEPROM
Browse files Browse the repository at this point in the history
  • Loading branch information
Panakotta00 committed Oct 17, 2024
1 parent 41e8802 commit 5963917
Show file tree
Hide file tree
Showing 244 changed files with 642 additions and 53 deletions.
2 changes: 1 addition & 1 deletion Config/DefaultFicsItNetworks.ini
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,4 @@ LogCoreRedirects=VeryVerbose
+StructRedirects=(OldName="/Script/FicsItNetworks.FileSystemSerializationInfo", NewName="/Script/FicsItNetworksComputer.FileSystemSerializationInfo")
+ClassRedirects=(OldName="/Script/FicsItNetworks.FINKernelAudioController", NewName="/Script/FicsItNetworksComputer.FINKernelAudioController")

+StructRedirects=(OldName="/Script/FicsItNetworksLua.FINStateEEPROMLua", NewName="/Script/FicsItNetworksLua.FINItemStateEEPROMLua")
+StructRedirects=(OldName="/Script/FicsItNetworksLua.FINStateEEPROMLua", NewName="/Script/FicsItNetworksComputer.FINItemStateEEPROMText")
Binary file modified Content/Buildings/Computer/Modules/CPU_Lua/UI/CPU_Lua_Widget.uasset
Binary file not shown.
Binary file removed Content/Items/EEPROM/Desc_EEPROM_Lua.uasset
Binary file not shown.
Binary file added Content/Items/EEPROM/Desc_EEPROM_Text.uasset
Binary file not shown.
Binary file modified Content/Items/EEPROM/Recipe_EEPROM_Lua.uasset
Binary file not shown.
5 changes: 4 additions & 1 deletion Source/FicsItNetworks/Private/FicsItNetworksModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,10 @@ void FFicsItNetworksModule::StartupModule(){
"/FicsItNetworks/Items/Floppy/Desc_FloppyDisk.Desc_FloppyDisk_C");
FIN_CoreRedirect(Type_Class,
"/FicsItNetworks/Computer/EEPROM/EEPROM_Lua_Desc.EEPROM_Lua_Desc_C",
"/FicsItNetworks/Items/EEPROM/Desc_EEPROM_Lua.Desc_EEPROM_Lua_C");
"/FicsItNetworks/Items/EEPROM/Desc_EEPROM_Text.Desc_EEPROM_Text_C");
FIN_CoreRedirect(Type_Class,
"/FicsItNetworks/Items/EEPROM/Desc_EEPROM_Lua.Desc_EEPROM_Lua_C",
"/FicsItNetworks/Items/EEPROM/Desc_EEPROM_Text.Desc_EEPROM_Text_C");
FIN_CoreRedirect(Type_Class,
"/FicsItNetworks/Computer/Modules/RAM/RAM_T1.RAM_T1_C",
"/FicsItNetworks/Buildings/Computer/Modules/RAM/Build_RAM_T1.Build_RAM_T1_C");
Expand Down
13 changes: 13 additions & 0 deletions Source/FicsItNetworksComputer/Private/FINComputerRCO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "FINComputerCase.h"
#include "FINComputerEEPROMDesc.h"
#include "FINItemStateEEPROMText.h"
#include "FINNetworkComponent.h"
#include "ComputerModules/FINComputerDriveHolder.h"
#include "ComputerModules/PCI/FINComputerGPUT1.h"
Expand Down Expand Up @@ -139,6 +140,18 @@ void UFINComputerRCO::SetLabel_Implementation(UFGInventoryComponent* Inventory,
}
}

void UFINComputerRCO::SetTextEEPROMCode_Implementation(UFGInventoryComponent* Inventory, int32 Index, const FString& NewCode) {
FInventoryStack stack;
if (!Inventory->GetStackFromIndex(Index, stack)) return;
UFINComputerEEPROMDesc::CreateEEPROMStateInItem(stack.Item);
if (const FFINItemStateEEPROMText* luaState = stack.Item.GetItemState().GetValuePtr<FFINItemStateEEPROMText>()) {
FFINItemStateEEPROMText state = *luaState;
state.Code = NewCode;
Inventory->SetStateOnIndex(Index, FFGDynamicStruct(state));
Multicast_ItemStateUpdated(Inventory, stack.Item.GetItemClass());
}
}

void UFINComputerRCO::Multicast_ItemStateUpdated_Implementation(class UFGInventoryComponent* Inventory, TSubclassOf<UFGItemDescriptor> Item) {
Inventory->OnItemAddedDelegate.Broadcast(Item, 0, Inventory);
}
3 changes: 3 additions & 0 deletions Source/FicsItNetworksComputer/Public/FINComputerRCO.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ class FICSITNETWORKSCOMPUTER_API UFINComputerRCO : public UFGRemoteCallObject {
UFUNCTION(Server, Reliable)
void SetLabel(UFGInventoryComponent* Inventory, int32 Index, const FString& Label);

UFUNCTION(BlueprintCallable, Server, Reliable, Category="FINLua|RCO")
void SetTextEEPROMCode(class UFGInventoryComponent* Inventory, int32 Index, const FString& NewCode);

UFUNCTION(NetMulticast, Unreliable)
void Multicast_ItemStateUpdated(class UFGInventoryComponent* Inventory, TSubclassOf<UFGItemDescriptor> Item);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#pragma once

#include "CoreMinimal.h"
#include "FINItemStateEEPROM.h"
#include "FINItemStateEEPROMText.generated.h"

USTRUCT(BlueprintType)
struct FICSITNETWORKSCOMPUTER_API FFINItemStateEEPROMText : public FFINItemStateEEPROM {
GENERATED_BODY()

UPROPERTY(SaveGame, BlueprintReadWrite)
FString Code;
};
10 changes: 0 additions & 10 deletions Source/FicsItNetworksLua/Private/FINItemStateEEPROMLua.cpp

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "FINLua/Reflection/LuaClass.h"
#include "FINLua/Reflection/LuaObject.h"
#include "FINLuaProcessor.h"
#include "FINItemStateEEPROMLua.h"
#include "FINItemStateEEPROMText.h"
#include "FGTimeSubsystem.h"
#include "FILLogContainer.h"
#include "FILLogEntry.h"
Expand Down
9 changes: 5 additions & 4 deletions Source/FicsItNetworksLua/Private/FINLuaProcessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
#include "FicsItNetworksComputer.h"
#include "FicsItNetworksLuaModule.h"
#include "FILLogContainer.h"
#include "FINComputerEEPROMDesc.h"
#include "FINNetworkUtils.h"
#include "FINItemStateEEPROMLua.h"
#include "FINItemStateEEPROMText.h"
#include "FINMediaSubsystem.h"
#include "FINLua/LuaExtraSpace.h"
#include "FINLua/LuaGlobalLib.h"
Expand Down Expand Up @@ -694,7 +695,7 @@ int64 UFINLuaProcessor::GetMemoryUsage(bool bInRecalc) {

TOptional<FString> UFINLuaProcessor::GetEEPROM() const {
FInventoryItem eeprom = Kernel->GetEEPROM();
if (const FFINItemStateEEPROMLua* state = eeprom.GetItemState().GetValuePtr<FFINItemStateEEPROMLua>()) {
if (const FFINItemStateEEPROMText* state = eeprom.GetItemState().GetValuePtr<FFINItemStateEEPROMText>()) {
return state->Code;
}
return {};
Expand All @@ -704,8 +705,8 @@ bool UFINLuaProcessor::SetEEPROM(const FString& Code) {
FInventoryItem eeprom = Kernel->GetEEPROM();
UFINComputerEEPROMDesc::CreateEEPROMStateInItem(eeprom);

if (const FFINItemStateEEPROMLua* stateLua = eeprom.GetItemState().GetValuePtr<FFINItemStateEEPROMLua>()) {
FFINItemStateEEPROMLua state = *stateLua;
if (const FFINItemStateEEPROMText* stateLua = eeprom.GetItemState().GetValuePtr<FFINItemStateEEPROMText>()) {
FFINItemStateEEPROMText state = *stateLua;
state.Code = Code;
return Kernel->SetEEPROM(FFGDynamicStruct(state));
}
Expand Down
14 changes: 1 addition & 13 deletions Source/FicsItNetworksLua/Private/FINLuaRCO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "FGPlayerController.h"
#include "FINComputerEEPROMDesc.h"
#include "FINComputerRCO.h"
#include "FINItemStateEEPROMLua.h"
#include "FINItemStateEEPROMText.h"
#include "Engine/World.h"
#include "Net/UnrealNetwork.h"

Expand All @@ -13,15 +13,3 @@ void UFINLuaRCO::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifeti

DOREPLIFETIME(UFINLuaRCO, bDummy);
}

void UFINLuaRCO::SetLuaEEPROMCode_Implementation(UFGInventoryComponent* Inventory, int32 Index, const FString& NewCode) {
FInventoryStack stack;
if (!Inventory->GetStackFromIndex(Index, stack)) return;
UFINComputerEEPROMDesc::CreateEEPROMStateInItem(stack.Item);
if (const FFINItemStateEEPROMLua* luaState = stack.Item.GetItemState().GetValuePtr<FFINItemStateEEPROMLua>()) {
FFINItemStateEEPROMLua state = *luaState;
state.Code = NewCode;
Inventory->SetStateOnIndex(Index, FFGDynamicStruct(state));
GetWorld()->GetFirstPlayerController<AFGPlayerController>()->GetRemoteCallObjectOfClass<UFINComputerRCO>()->Multicast_ItemStateUpdated(Inventory, stack.Item.GetItemClass());
}
}
15 changes: 8 additions & 7 deletions Source/FicsItNetworksLua/Private/FicsItNetworksLuaModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "FGGameMode.h"
#include "FINLuaRCO.h"
#include "Patching/NativeHookManager.h"
#include "FINItemStateEEPROMLua.h"
#include "FINItemStateEEPROMText.h"

DEFINE_LOG_CATEGORY(LogFicsItNetworksLua);
DEFINE_LOG_CATEGORY(LogFicsItNetworksLuaReflection);
Expand All @@ -21,10 +21,11 @@ void FFicsItNetworksLuaModule::StartupModule() {
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FINLuaProcessor"), TEXT("/Script/FicsItNetworksLua.FINLuaProcessor")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FINLuaProcessorStateStorage"), TEXT("/Script/FicsItNetworksLua.FINLuaProcessorStateStorage")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.EFINMetaRuntimeState"), TEXT("/Script/FicsItNetworksLua.EFINReflectionMetaRuntimeState")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FFINBlueprintPropertyMeta"), TEXT("/Script/FicsItNetworksLua.FFINReflectionPropertyMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FFINBlueprintFunctionMetaParameter"), TEXT("/Script/FicsItNetworksLua.FFINReflectionFunctionParameterMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FFINBlueprintFunctionMeta"), TEXT("/Script/FicsItNetworksLua.FFINReflectionFunctionMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Class, TEXT("/Script/FicsItNetworks.FFINBlueprintSignalMeta"), TEXT("/Script/FicsItNetworksLua.FFINReflectionSignalMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Struct, TEXT("/Script/FicsItNetworks.FINBlueprintPropertyMeta"), TEXT("/Script/FicsItNetworksLua.FINReflectionPropertyMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Struct, TEXT("/Script/FicsItNetworks.FINBlueprintFunctionMetaParameter"), TEXT("/Script/FicsItNetworksLua.FINReflectionFunctionParameterMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Struct, TEXT("/Script/FicsItNetworks.FINBlueprintFunctionMeta"), TEXT("/Script/FicsItNetworksLua.FINReflectionFunctionMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_Struct, TEXT("/Script/FicsItNetworks.FINBlueprintSignalMeta"), TEXT("/Script/FicsItNetworksLua.FINReflectionSignalMeta")});
redirects.Add(FCoreRedirect{ECoreRedirectFlags::Type_AllMask, TEXT("/Script/FicsItNetworksLua.FINItemStateEEPROMLua"), TEXT("/Script/FicsItNetworksComputer.FINItemStateEEPROMText")});

FCoreRedirects::AddRedirectList(redirects, "FicsItNetworksLua");

Expand All @@ -46,8 +47,8 @@ UFINLuaGameInstanceModule::UFINLuaGameInstanceModule() {
RemoteCallObjects.Add(UFINLuaRCO::StaticClass());
}

bool UFINLuaUtils::TryGetLuaEEPROM(const FFGDynamicStruct& Struct, FFINItemStateEEPROMLua& LuaEEPROM) {
auto ptr = Struct.GetValuePtr<FFINItemStateEEPROMLua>();
bool UFINLuaUtils::TryGetLuaEEPROM(const FFGDynamicStruct& Struct, FFINItemStateEEPROMText& LuaEEPROM) {
auto ptr = Struct.GetValuePtr<FFINItemStateEEPROMText>();

if (ptr == nullptr) {
return false;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,24 @@
#pragma once

#include "CoreMinimal.h"
#include "FINComputerEEPROMDesc.h"
#include "FINItemStateEEPROM.h"
#include "FicsItKernel/Processor/FINStateEEPROM_Legacy.h"
#include "FINItemStateEEPROMLua.generated.h"

USTRUCT(BlueprintType)
struct FICSITNETWORKSLUA_API FFINItemStateEEPROMLua : public FFINItemStateEEPROM {
GENERATED_BODY()

UPROPERTY(SaveGame, BlueprintReadWrite)
FString Code;
};
#include "FINItemStateEEPROMLua_Legacy.generated.h"

UCLASS(BlueprintType)
class FICSITNETWORKSLUA_API AFINStateEEPROMLua_Legacy : public AFINStateEEPROM_Legacy, public IFGLegacyItemStateActorInterface {
GENERATED_BODY()

protected:
UPROPERTY(BlueprintReadWrite, SaveGame)
FString Code;

public:
// Begin IFGLegacyItemStateActorInterface
virtual FFGDynamicStruct ConvertToItemState(TSubclassOf<UFGItemDescriptor> itemDescriptor) const override;
virtual FFGDynamicStruct ConvertToItemState(TSubclassOf<UFGItemDescriptor> itemDescriptor) const override {
FFINItemStateEEPROMText state;
state.Label = Label;
state.Code = Code;
return FFGDynamicStruct(state);
}
// End IFGLegacyItemStateActorInterface
};
2 changes: 0 additions & 2 deletions Source/FicsItNetworksLua/Public/FINLuaRCO.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ UCLASS()
class FICSITNETWORKSLUA_API UFINLuaRCO : public UFGRemoteCallObject {
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Server, Reliable, Category="FINLua|RCO")
void SetLuaEEPROMCode(class UFGInventoryComponent* Inventory, int32 Index, const FString& NewCode);

private:
UPROPERTY(Replicated)
Expand Down
2 changes: 1 addition & 1 deletion Source/FicsItNetworksLua/Public/FicsItNetworksLuaModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class UFINLuaUtils : public UObject {
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable)
static bool TryGetLuaEEPROM(const FFGDynamicStruct& Struct, FFINItemStateEEPROMLua& LuaEEPROM);
static bool TryGetLuaEEPROM(const FFGDynamicStruct& Struct, FFINItemStateEEPROMText& LuaEEPROM);

UFUNCTION( BlueprintPure, CustomThunk, Category = "Utilities|Dynamic Struct", meta = (NativeBreakFunc, CustomStructureParam = "out_structureValue" ) )
static bool BreakFINDynamicStruct( const FFGDynamicStruct& inDynamicStruct, int32& out_structureValue );
Expand Down
151 changes: 151 additions & 0 deletions Tools/CodePreprocessor/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Tools/CodePreprocessor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[package]
name = "FicsItNetworksPreprocessor"
version = "0.1.0"
edition = "2021"

[dependencies]
clang = { version = "2.0.0", features = ["clang_10_0"] }
walkdir = "2.5.0"
simple-error = "0.3.1"
Loading

0 comments on commit 5963917

Please sign in to comment.