分支合并
This commit is contained in:
parent
3cf55af0c7
commit
49ba27ebb6
@ -67,9 +67,6 @@ void FSchUtilsModule::LogValue(const FString& Name)
|
|||||||
case EDebugToolDataType::Vector:
|
case EDebugToolDataType::Vector:
|
||||||
{
|
{
|
||||||
UE_LOG(LogTemp, Warning, TEXT("SchDebug: %s = %s"), *Name, *reinterpret_cast<FVector*>(DebugOffsetMap[Name].Data)->ToString())
|
UE_LOG(LogTemp, Warning, TEXT("SchDebug: %s = %s"), *Name, *reinterpret_cast<FVector*>(DebugOffsetMap[Name].Data)->ToString())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -100,6 +97,11 @@ void FSchUtilsModule::SetDebugValue(const FString& Name, const FString& Value)
|
|||||||
*reinterpret_cast<FVector*>(DebugOffsetMap[Name].Data) = FVector::ZeroVector;
|
*reinterpret_cast<FVector*>(DebugOffsetMap[Name].Data) = FVector::ZeroVector;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case EDebugToolDataType::Bool:
|
||||||
|
{
|
||||||
|
*reinterpret_cast<bool*>(DebugOffsetMap[Name].Data) = FCString::ToBool(*Value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
*reinterpret_cast<FString*>(DebugOffsetMap[Name].Data) = Value;
|
*reinterpret_cast<FString*>(DebugOffsetMap[Name].Data) = Value;
|
||||||
|
@ -9,19 +9,22 @@
|
|||||||
#define SCH_DEBUG_FLOAT(x, Name) x
|
#define SCH_DEBUG_FLOAT(x, Name) x
|
||||||
#define SCH_DEBUG_INT32(x, Name) x
|
#define SCH_DEBUG_INT32(x, Name) x
|
||||||
#define SCH_DEBUG_Vector(x, Name) x
|
#define SCH_DEBUG_Vector(x, Name) x
|
||||||
|
#define SCH_DEBUG_BOOL(x, Name) x
|
||||||
#elif
|
#elif
|
||||||
#define SCH_DEBUG_FLOAT(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Float)
|
#define SCH_DEBUG_FLOAT(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Float)
|
||||||
#define SCH_DEBUG_INT32(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Int32)
|
#define SCH_DEBUG_INT32(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Int32)
|
||||||
#define SCH_DEBUG_Vector(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Vector)
|
#define SCH_DEBUG_Vector(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Vector)
|
||||||
|
#define SCH_DEBUG_BOOL(x, Name) FSchUtilsModule::DebugValue(x, L##Name, EDebugToolDataType::Bool)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define SCH_LOG_OPTS(x) FSchUtilsModule::LogOpts(x)
|
#define SCH_LOG_OPTS(x) FSchUtilsModule::LogOpts(x)
|
||||||
|
|
||||||
enum class EDebugToolDataType
|
enum class EDebugToolDataType : uint8
|
||||||
{
|
{
|
||||||
Float,
|
Float,
|
||||||
Int32,
|
Int32,
|
||||||
Vector,
|
Vector,
|
||||||
|
Bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FDebugToolsByteOffsetStruct
|
struct FDebugToolsByteOffsetStruct
|
||||||
|
@ -415,7 +415,8 @@ FEncodeVideoInfo FUtils::TrackEncodeAudio(const FTrackData& TrackData, const FSt
|
|||||||
FPlatformFileManager::Get().GetPlatformFile().CreateDirectoryTree(*FPaths::GetPath(ExportPath));
|
FPlatformFileManager::Get().GetPlatformFile().CreateDirectoryTree(*FPaths::GetPath(ExportPath));
|
||||||
TArray<FClipData> ClipData = TrackData.ClipData;
|
TArray<FClipData> ClipData = TrackData.ClipData;
|
||||||
ClipData.Sort([](const FClipData& A, const FClipData& B) {return A.ClipStartFrame < B.ClipStartFrame; });
|
ClipData.Sort([](const FClipData& A, const FClipData& B) {return A.ClipStartFrame < B.ClipStartFrame; });
|
||||||
|
|
||||||
|
|
||||||
FEncodeVideoInfo EncodeVideoInfo;
|
FEncodeVideoInfo EncodeVideoInfo;
|
||||||
FClipData SavedClipData;
|
FClipData SavedClipData;
|
||||||
int32 AudioCount = 0;
|
int32 AudioCount = 0;
|
||||||
@ -532,6 +533,7 @@ FEncodeVideoInfo FUtils::TrackEncodeAudio(const FTrackData& TrackData, const FSt
|
|||||||
FEncodeVideoInfo FUtils::CombineAudio(const FEncodeVideoInfo& LeftEncodeData,
|
FEncodeVideoInfo FUtils::CombineAudio(const FEncodeVideoInfo& LeftEncodeData,
|
||||||
const FEncodeVideoInfo& RightEncodeData, const FString& ExportPath)
|
const FEncodeVideoInfo& RightEncodeData, const FString& ExportPath)
|
||||||
{
|
{
|
||||||
|
|
||||||
FString LeftPathName = "";
|
FString LeftPathName = "";
|
||||||
FString RightPathName = "";
|
FString RightPathName = "";
|
||||||
if (FPaths::FileExists(LeftEncodeData.EncodedVideoName))
|
if (FPaths::FileExists(LeftEncodeData.EncodedVideoName))
|
||||||
@ -610,6 +612,8 @@ TArray<FEncodeVideoInfo> FUtils::ExportPsaf(FTrackData TrackData, const FString&
|
|||||||
EncodeVideoInfo.TrackData = TrackData;
|
EncodeVideoInfo.TrackData = TrackData;
|
||||||
EncodeVideoInfo.ClipData = TempClipData;
|
EncodeVideoInfo.ClipData = TempClipData;
|
||||||
EncodeVideoInfos.Add(EncodeVideoInfo);
|
EncodeVideoInfos.Add(EncodeVideoInfo);
|
||||||
|
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return EncodeVideoInfos;
|
return EncodeVideoInfos;
|
||||||
|
@ -400,7 +400,17 @@ TSharedPtr<SWidget> SEffectCard::GetPropertiesWidget()
|
|||||||
})
|
})
|
||||||
.OnTextCommitted_Lambda([this](const FText& InText, ETextCommit::Type InCommitType)
|
.OnTextCommitted_Lambda([this](const FText& InText, ETextCommit::Type InCommitType)
|
||||||
{
|
{
|
||||||
CardProperty->ID = FCString::Atoi(*InText.ToString());
|
for (int32 i = 0; i < CardGroupPtr->EffectCardPanel->EffectCardGroups.Num(); i++)
|
||||||
|
{
|
||||||
|
for (int32 j = 0; j < CardGroupPtr->EffectCardPanel->EffectCardGroups[i].Cards.Num(); j++)
|
||||||
|
{
|
||||||
|
if (CardProperty->Guid == CardGroupPtr->EffectCardPanel->EffectCardGroups[i].Cards[j].Guid)
|
||||||
|
{
|
||||||
|
CardGroupPtr->EffectCardPanel->EffectCardGroups[i].Cards[j].ID = FCString::Atoi(*InText.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -718,6 +718,16 @@ void SCutMainWindow::Tick(const FGeometry& AllottedGeometry, const double InCurr
|
|||||||
TotalTime = 0;
|
TotalTime = 0;
|
||||||
}
|
}
|
||||||
TotalTime += InDeltaTime;
|
TotalTime += InDeltaTime;
|
||||||
|
// for (int32 i = 0; i < EffectCardsPanel->EffectCardGroups.Num(); i++)
|
||||||
|
// {
|
||||||
|
// for (int32 j = 0; j < EffectCardsPanel->EffectCardGroups[i].Cards.Num(); j++)
|
||||||
|
// {
|
||||||
|
// if (EffectCardsPanel->EffectCardGroups[i].Cards[j].Name == TEXT("鲨鱼"))
|
||||||
|
// {
|
||||||
|
// GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("TestVar: %d"), EffectCardsPanel->EffectCardGroups[i].Cards[j].ID));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
SCH_DEBUG_INT32(114514, "TestVar");
|
SCH_DEBUG_INT32(114514, "TestVar");
|
||||||
@ -1223,6 +1233,23 @@ void SCutMainWindow::ExportProject(const FString& ExportPath)
|
|||||||
{
|
{
|
||||||
for (int32 j = 0; j < EffectCardsPanel->EffectCardGroups[i].Cards.Num(); j++)
|
for (int32 j = 0; j < EffectCardsPanel->EffectCardGroups[i].Cards.Num(); j++)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// 检测组合卡里是否有这个卡
|
||||||
|
bool bIsExist = false;
|
||||||
|
for (const FEffectCardGroup& CardGroup : EffectCardsPanel->EffectCardGroups)
|
||||||
|
{
|
||||||
|
if (CardGroup.bIsDedicated == true)
|
||||||
|
continue;
|
||||||
|
if (CardGroup.Cards.Contains(EffectCardsPanel->EffectCardGroups[i].Cards[j]))
|
||||||
|
{
|
||||||
|
bIsExist = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bIsExist)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
|
||||||
FExportCard ExportCard;
|
FExportCard ExportCard;
|
||||||
int32 TypeID = 0;
|
int32 TypeID = 0;
|
||||||
if (EffectCardsPanel->EffectCardGroups[i].Cards[j].JumpStepCurtains.Guid.IsValid())
|
if (EffectCardsPanel->EffectCardGroups[i].Cards[j].JumpStepCurtains.Guid.IsValid())
|
||||||
@ -1263,7 +1290,7 @@ void SCutMainWindow::ExportProject(const FString& ExportPath)
|
|||||||
{
|
{
|
||||||
FExportCard ExportCard;
|
FExportCard ExportCard;
|
||||||
ExportCard.CardName = EffectCardsPanel->EffectCardGroups[i].GroupName;
|
ExportCard.CardName = EffectCardsPanel->EffectCardGroups[i].GroupName;
|
||||||
ExportCard.CardID = EffectCardsPanel->EffectCardGroups[i].ID;
|
ExportCard.CardID = -1;
|
||||||
int32 TypeID = 2;
|
int32 TypeID = 2;
|
||||||
if (EffectCardsPanel->EffectCardGroups[i].JumpStepCurtains.Guid.IsValid())
|
if (EffectCardsPanel->EffectCardGroups[i].JumpStepCurtains.Guid.IsValid())
|
||||||
{
|
{
|
||||||
@ -1316,7 +1343,16 @@ void SCutMainWindow::ExportProject(const FString& ExportPath)
|
|||||||
for (int32 i = 0; i < ExportCards.Num(); i++)
|
for (int32 i = 0; i < ExportCards.Num(); i++)
|
||||||
{
|
{
|
||||||
tinyxml2::XMLElement* Card = CardList->InsertNewChildElement("Card");
|
tinyxml2::XMLElement* Card = CardList->InsertNewChildElement("Card");
|
||||||
Card->InsertNewChildElement("ID")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].CardID)));
|
tinyxml2::XMLElement* ID = Card->InsertNewChildElement("ID");
|
||||||
|
if (ExportCards[i].CardID != -1)
|
||||||
|
{
|
||||||
|
ID->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].CardID)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ID->InsertNewText("");
|
||||||
|
}
|
||||||
|
|
||||||
Card->InsertNewChildElement("Type")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].CardType)));
|
Card->InsertNewChildElement("Type")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].CardType)));
|
||||||
Card->InsertNewChildElement("Times")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].Times)));
|
Card->InsertNewChildElement("Times")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].Times)));
|
||||||
Card->InsertNewChildElement("Step")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].Step)));
|
Card->InsertNewChildElement("Step")->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(ExportCards[i].Step)));
|
||||||
@ -2432,17 +2468,17 @@ tinyxml2::XMLElement* SCutMainWindow::GetProcessB(tinyxml2::XMLElement* Parent,
|
|||||||
for (int32 i = 0; i < EffectCardsPanel->EffectCardGroups.Num(); i++)
|
for (int32 i = 0; i < EffectCardsPanel->EffectCardGroups.Num(); i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!EffectCardsPanel->EffectCardGroups[i].bIsDedicated)
|
// if (!EffectCardsPanel->EffectCardGroups[i].bIsDedicated)
|
||||||
{
|
// {
|
||||||
if (EffectCardsPanel->EffectCardGroups[i].UsedCurtains.Contains(Curtain->CurtainUUID) ||
|
// if (EffectCardsPanel->EffectCardGroups[i].UsedCurtains.Contains(Curtain->CurtainUUID) ||
|
||||||
EffectCardsPanel->EffectCardGroups[i].UsedCurtains.Contains(FStringWithGUID()))
|
// EffectCardsPanel->EffectCardGroups[i].UsedCurtains.Contains(FStringWithGUID()))
|
||||||
{
|
// {
|
||||||
tinyxml2::XMLElement* SerialNumber = EnableCard->InsertNewChildElement("SerialNumber");
|
// tinyxml2::XMLElement* SerialNumber = EnableCard->InsertNewChildElement("SerialNumber");
|
||||||
SerialNumber->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(EffectCardsPanel->EffectCardGroups[i].ID)));
|
// SerialNumber->InsertNewText(TCHAR_TO_UTF8(*FString::FromInt(EffectCardsPanel->EffectCardGroups[i].ID)));
|
||||||
Count++;
|
// Count++;
|
||||||
}
|
// }
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
for (int32 j = 0 ; j < EffectCardsPanel->EffectCardGroups[i].Cards.Num(); j++)
|
for (int32 j = 0 ; j < EffectCardsPanel->EffectCardGroups[i].Cards.Num(); j++)
|
||||||
{
|
{
|
||||||
@ -2850,6 +2886,38 @@ FGuid SCutMainWindow::GetCurrentSelectCurtain() const
|
|||||||
return FGuid();
|
return FGuid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SCutMainWindow::GetSelectIsGlobal(const FGuid& Guid)
|
||||||
|
{
|
||||||
|
for (FCurtainGroup& CurtainGroup : CurtainPanel->Groups)
|
||||||
|
{
|
||||||
|
for (FCurtain& Curtain : CurtainGroup.Curtains)
|
||||||
|
{
|
||||||
|
if (Curtain.CurtainUUID == Guid)
|
||||||
|
{
|
||||||
|
return Curtain.IsGlobal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (FEffectCardGroup& Group : EffectCardsPanel->EffectCardGroups)
|
||||||
|
{
|
||||||
|
if (!Group.bIsDedicated)
|
||||||
|
{
|
||||||
|
if (Group.Guid == Guid)
|
||||||
|
{
|
||||||
|
return Group.bIsActive;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (FEffectCardProperty& Property : Group.Cards)
|
||||||
|
{
|
||||||
|
if (Property.Guid == Guid)
|
||||||
|
{
|
||||||
|
return Property.bIsActive = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void SCutMainWindow::SetActive(FGuid& Guid) const
|
void SCutMainWindow::SetActive(FGuid& Guid) const
|
||||||
{
|
{
|
||||||
for (FCurtainGroup& CurtainGroup : CurtainPanel->Groups)
|
for (FCurtainGroup& CurtainGroup : CurtainPanel->Groups)
|
||||||
|
@ -149,6 +149,9 @@ public:
|
|||||||
FTimelineInfo GetSelectTimelineInfoByGuid(const FGuid& Guid) const;
|
FTimelineInfo GetSelectTimelineInfoByGuid(const FGuid& Guid) const;
|
||||||
FString GetSelectNameByGuid(const FGuid& Guid) const;
|
FString GetSelectNameByGuid(const FGuid& Guid) const;
|
||||||
FGuid GetCurrentSelectCurtain() const;
|
FGuid GetCurrentSelectCurtain() const;
|
||||||
|
bool GetSelectIsGlobal(const FGuid& Guid);
|
||||||
|
|
||||||
|
|
||||||
void SetActive(FGuid& Guid) const;
|
void SetActive(FGuid& Guid) const;
|
||||||
FTimelineInfo GetCurrentSelectCurtainTimelineInfo() const;
|
FTimelineInfo GetCurrentSelectCurtainTimelineInfo() const;
|
||||||
bool IsSelectCurtain() const;
|
bool IsSelectCurtain() const;
|
||||||
|
@ -699,8 +699,8 @@ int32 STimelineClip::OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGe
|
|||||||
const int32 Interval = (CropEndDataOffset - CropStartDataOffset) / NeedDrawCount;
|
const int32 Interval = (CropEndDataOffset - CropStartDataOffset) / NeedDrawCount;
|
||||||
|
|
||||||
|
|
||||||
GEngine->AddOnScreenDebugMessage(-1, 0.0f, FColor::Red, FString::FromInt(NeedDrawCount));
|
// GEngine->AddOnScreenDebugMessage(-1, 0.0f, FColor::Red, FString::FromInt(NeedDrawCount));
|
||||||
GEngine->AddOnScreenDebugMessage(-1, 0.0f, FColor::Green, FString::FromInt(Interval));
|
// GEngine->AddOnScreenDebugMessage(-1, 0.0f, FColor::Green, FString::FromInt(Interval));
|
||||||
|
|
||||||
if (CropStartFrameOffset != -1 || NeedDrawCount != -1)
|
if (CropStartFrameOffset != -1 || NeedDrawCount != -1)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
#include "SaveConverterBase.h"
|
@ -0,0 +1,9 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class FSaveConverterBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user