Decisions D-01/D-02 : correctifs anterieurs non suivis retires.
Content/{BPs,UI,Structs,Scenes,Render,Characters} = 4.27 (385 fichiers,
MD5 verifies). Correctifs isoles : Docs/Migration/05_Correctifs_Isoles.md,
patchs de code 4.27->5.5 dans Docs/Migration/correctifs/.
Releve de base 5.5 : CompileAllBlueprints 6 erreurs (StatMenu, CharGen),
0 echec de chargement ; LPCheckMeshAssignment 5 broches AssetRegistry
orphelines dans GI (GetAssetsByClass). Tools/RunCommandlet.ps1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1436 lines
63 KiB
Diff
1436 lines
63 KiB
Diff
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.cpp
|
|
index 6a8b808..9a60b58 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.cpp
|
|
@@ -1,11 +1,12 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
#include "OSMFile.h"
|
|
-
|
|
+#include "Misc/FeedbackContext.h"
|
|
|
|
FOSMFile::FOSMFile()
|
|
- : ParsingState( ParsingState::Root )
|
|
+ : ParsingState(ParsingState::Root),
|
|
+ CurrentNodeID(0),
|
|
+ CurrentNodeInfo(nullptr),
|
|
+ CurrentWayInfo(nullptr),
|
|
+ CurrentWayTagKey(nullptr)
|
|
{
|
|
}
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.h
|
|
index 2b1aafd..3c31d01 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/OSMFile.h
|
|
@@ -1,9 +1,6 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
#include "FastXml.h"
|
|
|
|
-
|
|
/** OpenStreetMap file loader */
|
|
class FOSMFile : public IFastXmlCallback
|
|
{
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.cpp
|
|
index 774e2e8..9222a1c 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.cpp
|
|
@@ -1,18 +1,9 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
-#include "AssetData.h"
|
|
#include "StreetMapActorFactory.h"
|
|
+#include "AssetRegistry/AssetData.h"
|
|
#include "StreetMapActor.h"
|
|
#include "StreetMapComponent.h"
|
|
#include "StreetMap.h"
|
|
|
|
-
|
|
-//////////////////////////////////////////////////////////////////////////
|
|
-// UStreetMapActorFactory
|
|
-
|
|
UStreetMapActorFactory::UStreetMapActorFactory(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
@@ -32,17 +23,6 @@ void UStreetMapActorFactory::PostSpawnActor(UObject* Asset, AActor* NewActor)
|
|
}
|
|
}
|
|
|
|
-void UStreetMapActorFactory::PostCreateBlueprint(UObject* Asset, AActor* CDO)
|
|
-{
|
|
- if (Asset != nullptr && CDO != nullptr)
|
|
- {
|
|
- UStreetMap* StreetMapAsset = CastChecked<UStreetMap>(Asset);
|
|
- AStreetMapActor* StreetMapActor = CastChecked<AStreetMapActor>(CDO);
|
|
- UStreetMapComponent* StreetMapComponent = StreetMapActor->GetStreetMapComponent();
|
|
- StreetMapComponent->SetStreetMap(StreetMapAsset, true, false);
|
|
- }
|
|
-}
|
|
-
|
|
bool UStreetMapActorFactory::CanCreateActorFrom(const FAssetData& AssetData, FText& OutErrorMsg)
|
|
{
|
|
return (AssetData.IsValid() && AssetData.GetClass()->IsChildOf(UStreetMap::StaticClass()));
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.h
|
|
index a45a707..15c2f39 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapActorFactory.h
|
|
@@ -1,8 +1,6 @@
|
|
// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
|
|
#pragma once
|
|
-
|
|
-#include "CoreMinimal.h"
|
|
#include "ActorFactories/ActorFactory.h"
|
|
#include "StreetMapActorFactory.generated.h"
|
|
|
|
@@ -11,9 +9,8 @@ class UStreetMapActorFactory : public UActorFactory
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
- //~ Begin UActorFactory Interface
|
|
- virtual void PostSpawnActor(UObject* Asset, AActor* NewActor) override;
|
|
- virtual void PostCreateBlueprint(UObject* Asset, AActor* CDO) override;
|
|
+ //~ Begin UActorFactory Interface
|
|
+ virtual void PostSpawnActor(UObject* Asset, AActor* NewActor) override;
|
|
virtual bool CanCreateActorFrom(const FAssetData& AssetData, FText& OutErrorMsg) override;
|
|
//~ End UActorFactory Interface
|
|
};
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.cpp
|
|
index 16dd2e1..b7e026a 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.cpp
|
|
@@ -1,10 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
#include "StreetMapAssetTypeActions.h"
|
|
#include "StreetMap.h"
|
|
-#include "AssetData.h"
|
|
-
|
|
+#include "AssetRegistry/AssetData.h"
|
|
+#include "EditorFramework/AssetImportData.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "StreetMapImporting"
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.h
|
|
index 294936d..50d6f2d 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapAssetTypeActions.h
|
|
@@ -1,6 +1,4 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
#include "AssetTypeActions_Base.h"
|
|
|
|
class FStreetMapAssetTypeActions : public FAssetTypeActions_Base
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.cpp
|
|
index a201f2a..f3365a9 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.cpp
|
|
@@ -1,29 +1,19 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
-
|
|
#include "StreetMapComponentDetails.h"
|
|
-
|
|
-#include "SlateBasics.h"
|
|
+#include "AssetToolsModule.h"
|
|
#include "RawMesh.h"
|
|
#include "PropertyEditorModule.h"
|
|
#include "DetailLayoutBuilder.h"
|
|
#include "DetailCategoryBuilder.h"
|
|
#include "DetailWidgetRow.h"
|
|
-#include "PropertyCustomizationHelpers.h"
|
|
#include "IDetailsView.h"
|
|
#include "IDetailCustomization.h"
|
|
-#include "AssetRegistryModule.h"
|
|
-#include "DlgPickAssetPath.h"
|
|
-#include "IDetailCustomization.h"
|
|
-#include "SNotificationList.h"
|
|
-#include "NotificationManager.h"
|
|
-#include "AssertionMacros.h"
|
|
-
|
|
-
|
|
+#include "AssetRegistry/AssetRegistryModule.h"
|
|
+#include "Dialogs/DlgPickAssetPath.h"
|
|
+#include "Widgets/Notifications/SNotificationList.h"
|
|
+#include "Framework/Notifications/NotificationManager.h"
|
|
+#include "Misc/AssertionMacros.h"
|
|
#include "StreetMapComponent.h"
|
|
|
|
-
|
|
#define LOCTEXT_NAMESPACE "StreetMapComponentDetails"
|
|
|
|
|
|
@@ -254,9 +244,9 @@ FReply FStreetMapComponentDetails::OnCreateStaticMeshAssetClicked()
|
|
|
|
const FStreetMapVertex& StreetMapVertex = RawMeshVertices[VertexIndex];
|
|
|
|
- FVector TangentX = StreetMapVertex.TangentX;
|
|
- FVector TangentZ = StreetMapVertex.TangentZ;
|
|
- FVector TangentY = (TangentX ^ TangentZ).GetSafeNormal();
|
|
+ FVector3f TangentX = StreetMapVertex.TangentX;
|
|
+ FVector3f TangentZ = StreetMapVertex.TangentZ;
|
|
+ FVector3f TangentY = (TangentX ^ TangentZ).GetSafeNormal();
|
|
|
|
RawMesh.WedgeTangentX.Add(TangentX);
|
|
RawMesh.WedgeTangentY.Add(TangentY);
|
|
@@ -278,17 +268,16 @@ FReply FStreetMapComponentDetails::OnCreateStaticMeshAssetClicked()
|
|
if (RawMesh.VertexPositions.Num() > 3 && RawMesh.WedgeIndices.Num() > 3)
|
|
{
|
|
// Then find/create it.
|
|
- UPackage* Package = CreatePackage(NULL, *UserPackageName);
|
|
+ UPackage* Package = CreatePackage(*UserPackageName);
|
|
check(Package);
|
|
|
|
// Create StaticMesh object
|
|
UStaticMesh* StaticMesh = NewObject<UStaticMesh>(Package, MeshName, RF_Public | RF_Standalone);
|
|
StaticMesh->InitResources();
|
|
|
|
- StaticMesh->SetLightingGuid();
|
|
+ StaticMesh->SetLightingGuid(FGuid::NewGuid());
|
|
|
|
// Add source to new StaticMesh
|
|
- // 4.23+ : SourceModels est prive, on passe par AddSourceModel()
|
|
FStaticMeshSourceModel* SrcModel = &StaticMesh->AddSourceModel();
|
|
SrcModel->BuildSettings.bRecomputeNormals = false;
|
|
SrcModel->BuildSettings.bRecomputeTangents = false;
|
|
@@ -306,7 +295,7 @@ FReply FStreetMapComponentDetails::OnCreateStaticMeshAssetClicked()
|
|
StaticMesh->GetStaticMaterials().Add(FStaticMaterial(Material));
|
|
}
|
|
|
|
- //Set the Imported version before calling the build
|
|
+ // Set the Imported version before calling the build
|
|
StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
|
|
|
|
// Build mesh from source
|
|
@@ -325,7 +314,10 @@ FReply FStreetMapComponentDetails::OnCreateStaticMeshAssetClicked()
|
|
FNotificationInfo Info(FText::Format(LOCTEXT("StreetMapMeshConverted", "Successfully Converted Mesh"), FText::FromString(StaticMesh->GetName())));
|
|
Info.ExpireDuration = 8.0f;
|
|
Info.bUseLargeFont = false;
|
|
- Info.Hyperlink = FSimpleDelegate::CreateLambda([=]() { FAssetEditorManager::Get().OpenEditorForAssets(TArray<UObject*>({ StaticMesh })); });
|
|
+
|
|
+ UAssetEditorSubsystem* AssetEditorSubsystem = GEditor->GetEditorSubsystem<UAssetEditorSubsystem>();
|
|
+ Info.Hyperlink = FSimpleDelegate::CreateLambda([=]() { AssetEditorSubsystem->OpenEditorForAssets(TArray<UObject*>({ StaticMesh })); });
|
|
+
|
|
Info.HyperlinkText = FText::Format(LOCTEXT("OpenNewAnimationHyperlink", "Open {0}"), FText::FromString(StaticMesh->GetName()));
|
|
TSharedPtr<SNotificationItem> Notification = FSlateNotificationManager::Get().AddNotification(Info);
|
|
if (Notification.IsValid())
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.h
|
|
index 4967bbf..2fb24bc 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapComponentDetails.h
|
|
@@ -1,7 +1,4 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#pragma once
|
|
-
|
|
#include "IDetailCustomization.h"
|
|
|
|
class FStreetMapComponentDetails : public IDetailCustomization
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.cpp
|
|
index 3a289bb..865d98d 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.cpp
|
|
@@ -1,11 +1,8 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
#include "StreetMapFactory.h"
|
|
+#include "EditorFramework/AssetImportData.h"
|
|
#include "OSMFile.h"
|
|
#include "StreetMap.h"
|
|
|
|
-
|
|
// Latitude/longitude scale factor
|
|
// - https://en.wikipedia.org/wiki/Equator#Exact_length
|
|
static const double EarthCircumference = 40075036.0;
|
|
@@ -41,7 +38,7 @@ UObject* UStreetMapFactory::FactoryCreateText( UClass* Class, UObject* Parent, F
|
|
|
|
if( !bLoadedOkay )
|
|
{
|
|
- StreetMap->MarkPendingKill();
|
|
+ StreetMap->MarkAsGarbage();
|
|
StreetMap = nullptr;
|
|
}
|
|
|
|
@@ -54,7 +51,7 @@ bool UStreetMapFactory::LoadFromOpenStreetMapXMLFile( UStreetMap* StreetMap, FSt
|
|
// OSM data is stored in meters. This is the scale factor to convert those units into UE4's native units (cm)
|
|
// Keep in mind that if this is changed, UStreetMapComponent sizes for roads may need to be updated too!
|
|
// @todo: We should make this scale factor customizable as an import option
|
|
- const float OSMToCentimetersScaleFactor = 100.0f;
|
|
+ const double OSMToCentimetersScaleFactor = 100.0;
|
|
|
|
|
|
// Converts latitude to meters
|
|
@@ -77,9 +74,9 @@ bool UStreetMapFactory::LoadFromOpenStreetMapXMLFile( UStreetMap* StreetMap, FSt
|
|
const double RelativeToLongitude ) -> FVector2D
|
|
{
|
|
// Applies Sanson-Flamsteed (sinusoidal) Projection (see http://www.progonos.com/furuti/MapProj/Normal/CartHow/HowSanson/howSanson.html)
|
|
- return FVector2D(
|
|
- (float)( ConvertLongitudeToMeters( Longitude, Latitude ) - ConvertLongitudeToMeters( RelativeToLongitude, Latitude ) ),
|
|
- (float)( ConvertLatitudeToMeters( Latitude ) - ConvertLatitudeToMeters( RelativeToLatitude ) ) );
|
|
+ return FVector2d(
|
|
+ ConvertLongitudeToMeters( Longitude, Latitude ) - ConvertLongitudeToMeters( RelativeToLongitude, Latitude ),
|
|
+ ConvertLatitudeToMeters( Latitude ) - ConvertLatitudeToMeters( RelativeToLatitude ) );
|
|
};
|
|
|
|
// Adds a Park to the street map using the OpenStreetMap data, flattening the road's coordinates into our map's space
|
|
@@ -212,6 +209,9 @@ bool UStreetMapFactory::LoadFromOpenStreetMapXMLFile( UStreetMap* StreetMap, FSt
|
|
case FOSMFile::EOSMWayType::Road: // @todo: Consider excluding "Road" from our data set, as it could be a highway that wasn't properly tagged in OSM yet
|
|
RoadType = EStreetMapRoadType::Street;
|
|
break;
|
|
+
|
|
+ default:
|
|
+ RoadType = EStreetMapRoadType::Other;
|
|
}
|
|
|
|
if( RoadType != EStreetMapRoadType::Other )
|
|
@@ -334,7 +334,7 @@ bool UStreetMapFactory::LoadFromOpenStreetMapXMLFile( UStreetMap* StreetMap, FSt
|
|
// we get as much precision as possible.
|
|
const double RelativeToLatitude = OSMFile.AverageLatitude;
|
|
const double RelativeToLongitude = OSMFile.AverageLongitude;
|
|
- const FVector2D NodePos = ConvertLatLongToMetersRelative(
|
|
+ const FVector2d NodePos = ConvertLatLongToMetersRelative(
|
|
OSMNode.Latitude,
|
|
OSMNode.Longitude,
|
|
RelativeToLatitude,
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.h
|
|
index a9df2ff..1b86bd4 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapFactory.h
|
|
@@ -1,10 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
#include "Factories/Factory.h"
|
|
#include "StreetMapFactory.generated.h"
|
|
|
|
-
|
|
/**
|
|
* Import factory object for OpenStreetMap assets
|
|
*/
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.Build.cs b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.Build.cs
|
|
index d353906..3f2d3bc 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.Build.cs
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.Build.cs
|
|
@@ -7,8 +7,6 @@ namespace UnrealBuildTool.Rules
|
|
public StreetMapImporting(ReadOnlyTargetRules Target)
|
|
: base(Target)
|
|
{
|
|
- PrivatePCHHeaderFile = "StreetMapImporting.h";
|
|
-
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"Core",
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.cpp
|
|
index 4115829..86460f9 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.cpp
|
|
@@ -1,12 +1,9 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#include "StreetMapImporting.h"
|
|
#include "StreetMapAssetTypeActions.h"
|
|
-#include "ModuleManager.h"
|
|
+#include "Modules/ModuleManager.h"
|
|
#include "StreetMapStyle.h"
|
|
#include "StreetMapComponentDetails.h"
|
|
|
|
-
|
|
class FStreetMapImportingModule : public IModuleInterface
|
|
{
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.h
|
|
index 07df060..45dcbb0 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapImporting.h
|
|
@@ -1,5 +1,3 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
|
|
-#include "UnrealEd.h"
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.cpp
|
|
index 94b1bed..37fb947 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.cpp
|
|
@@ -1,9 +1,6 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
#include "StreetMapReimportFactory.h"
|
|
#include "StreetMap.h"
|
|
-
|
|
+#include "EditorFramework/AssetImportData.h"
|
|
|
|
UStreetMapReimportFactory::UStreetMapReimportFactory(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
@@ -17,8 +14,9 @@ bool UStreetMapReimportFactory::CanReimport( UObject* Obj, TArray<FString>& OutF
|
|
if( StreetMap != nullptr )
|
|
{
|
|
OutFilenames.Add( StreetMap->AssetImportData->GetFirstFilename() );
|
|
+ return true;
|
|
}
|
|
- return true;
|
|
+ return false;
|
|
}
|
|
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.h
|
|
index 1218746..1f1e587 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapReimportFactory.h
|
|
@@ -1,11 +1,8 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
#include "StreetMapFactory.h"
|
|
#include "EditorReimportHandler.h"
|
|
#include "StreetMapReimportFactory.generated.h"
|
|
|
|
-
|
|
/**
|
|
* Import factory object for OpenStreetMap assets
|
|
*/
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.cpp
|
|
index ed9df1b..950813c 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.cpp
|
|
@@ -1,9 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapImporting.h"
|
|
#include "StreetMapStyle.h"
|
|
-#include "SlateStyle.h"
|
|
-#include "IPluginManager.h"
|
|
+#include "Styling/SlateStyle.h"
|
|
+#include "Styling/SlateStyleRegistry.h"
|
|
+#include "Interfaces/IPluginManager.h"
|
|
|
|
#define IMAGE_BRUSH( RelativePath, ... ) FSlateImageBrush( FStreetMapStyle::InContent( RelativePath, ".png" ), __VA_ARGS__ )
|
|
|
|
@@ -13,7 +11,7 @@ FString FStreetMapStyle::InContent(const FString& RelativePath, const ANSICHAR*
|
|
return (IconsDir / RelativePath) + Extension;
|
|
}
|
|
|
|
-TSharedPtr< FSlateStyleSet > FStreetMapStyle::StyleSet = NULL;
|
|
+TSharedPtr< FSlateStyleSet > FStreetMapStyle::StyleSet = nullptr;
|
|
TSharedPtr< class ISlateStyle > FStreetMapStyle::Get() { return StyleSet; }
|
|
|
|
void FStreetMapStyle::Initialize()
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.h
|
|
index 831666d..bfaf846 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapImporting/StreetMapStyle.h
|
|
@@ -1,5 +1,3 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#pragma once
|
|
|
|
/** StreetMap Editor Style Helper Class. */
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.cpp
|
|
index 5f115cb..d2ca47c 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.cpp
|
|
@@ -1,9 +1,5 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapRuntime.h"
|
|
#include "PolygonTools.h"
|
|
|
|
-
|
|
// Based off "Efficient Polygon Triangulation" algorithm by John W. Ratcliff (http://flipcode.net/archives/Efficient_Polygon_Triangulation.shtml)
|
|
bool FPolygonTools::TriangulatePolygon( const TArray<FVector2D>& Polygon, TArray<int32>& TempIndices, TArray<int32>& TriangulatedIndices, bool& OutWindsClockwise )
|
|
{
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.h
|
|
index 72e2bed..dd028c0 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/PolygonTools.h
|
|
@@ -1,9 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
|
|
class FPolygonTools
|
|
{
|
|
-
|
|
public:
|
|
|
|
/** Triangulate a polygon given a list of contour points, then places results as indices into the original polygon array. Does not support polygons with holes. */
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMap.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMap.h
|
|
index c89f500..fba6972 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMap.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMap.h
|
|
@@ -1,10 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#pragma once
|
|
-
|
|
+#include "Math/MathFwd.h"
|
|
#include "StreetMap.generated.h"
|
|
|
|
-
|
|
USTRUCT(BlueprintType)
|
|
struct STREETMAPRUNTIME_API FStreetMapCollisionSettings
|
|
{
|
|
@@ -44,17 +41,17 @@ public:
|
|
|
|
/** Roads base vertical offset */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"), DisplayName = "Road Vertical Offset")
|
|
- float RoadOffesetZ;
|
|
+ float RoadOffesetZ;
|
|
|
|
/** if true buildings mesh will be 3D instead of flat representation. */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, DisplayName = "Create 3D Buildings")
|
|
- uint32 bWant3DBuildings : 1;
|
|
+ uint32 bWant3DBuildings : 1;
|
|
|
|
/** building level floor conversion factor in centimeters
|
|
@todo: harmonize with OSMToCentimetersScaleFactor refactoring
|
|
*/
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, DisplayName = "Building Level Floor Factor")
|
|
- float BuildingLevelFloorFactor = 300.0f;
|
|
+ float BuildingLevelFloorFactor = 300.0f;
|
|
|
|
/**
|
|
* If true, buildings mesh will receive light information.
|
|
@@ -65,48 +62,47 @@ public:
|
|
|
|
/** Streets thickness */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"))
|
|
- float StreetThickness;
|
|
+ float StreetThickness;
|
|
|
|
/** Street vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor StreetColor;
|
|
+ FLinearColor StreetColor;
|
|
|
|
/** Major road thickness */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"))
|
|
- float MajorRoadThickness;
|
|
+ float MajorRoadThickness;
|
|
|
|
/** Major road vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor MajorRoadColor;
|
|
+ FLinearColor MajorRoadColor;
|
|
|
|
/** Highway thickness */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"))
|
|
- float HighwayThickness;
|
|
+ float HighwayThickness;
|
|
|
|
/** Highway vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor HighwayColor;
|
|
+ FLinearColor HighwayColor;
|
|
|
|
/** Streets Thickness */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"))
|
|
- float BuildingBorderThickness;
|
|
+ float BuildingBorderThickness;
|
|
|
|
/** Building border vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor BuildingBorderLinearColor;
|
|
+ FLinearColor BuildingBorderLinearColor;
|
|
|
|
/** Buildings border vertical offset */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere, meta = (ClampMin = "0", UIMin = "0"))
|
|
- float BuildingBorderZ;
|
|
-
|
|
-
|
|
- /** Water vertex color */
|
|
+ float BuildingBorderZ;
|
|
+
|
|
+ /** Water vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor WaterColor;
|
|
-
|
|
- /** Park vertex color */
|
|
+ FLinearColor WaterColor;
|
|
+
|
|
+ /** Park vertex color */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- FLinearColor ParkColor;
|
|
+ FLinearColor ParkColor;
|
|
|
|
|
|
FStreetMapMeshBuildSettings() :
|
|
@@ -122,11 +118,10 @@ public:
|
|
BuildingBorderThickness(20.0f),
|
|
BuildingBorderLinearColor(0.85f, 0.85f, 0.85f),
|
|
BuildingBorderZ(10.0f),
|
|
- ParkColor(0.00f, 0.55f, 0.27f),
|
|
- WaterColor(0.26f, 0.75f, 0.98f)
|
|
+ WaterColor(0.26f, 0.75f, 0.98f),
|
|
+ ParkColor(0.00f, 0.55f, 0.27f)
|
|
{
|
|
}
|
|
-
|
|
};
|
|
|
|
|
|
@@ -222,6 +217,17 @@ struct STREETMAPRUNTIME_API FStreetMapRoad
|
|
{
|
|
return bIsOneWay == 1 ? true : false;
|
|
}
|
|
+
|
|
+ FStreetMapRoad() :
|
|
+ RoadName(),
|
|
+ RoadType(EStreetMapRoadType::Street),
|
|
+ NodeIndices(),
|
|
+ RoadPoints(),
|
|
+ BoundsMin(FVector2D::ZeroVector),
|
|
+ BoundsMax(FVector2D::ZeroVector),
|
|
+ bIsOneWay(0)
|
|
+ {
|
|
+ }
|
|
};
|
|
|
|
|
|
@@ -234,11 +240,11 @@ struct STREETMAPRUNTIME_API FStreetMapRoadRef
|
|
|
|
/** Index of road in the list of all roads in this street map */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- int32 RoadIndex;
|
|
+ int32 RoadIndex = INDEX_NONE;
|
|
|
|
/** Index of the point along road where this node exists */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- int32 RoadPointIndex;
|
|
+ int32 RoadPointIndex = INDEX_NONE;
|
|
};
|
|
|
|
|
|
@@ -297,29 +303,29 @@ struct STREETMAPRUNTIME_API FStreetMapBuilding
|
|
|
|
/** Height of the building in meters (if known, otherwise zero) */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- float Height;
|
|
+ double Height = 0.0;
|
|
|
|
/** Levels of the building (if known, otherwise zero) */
|
|
UPROPERTY(Category = StreetMap, EditAnywhere)
|
|
- int BuildingLevels;
|
|
-
|
|
- /** The amenity of the building */
|
|
- UPROPERTY( Category=StreetMap, EditAnywhere, BlueprintReadWrite )
|
|
+ int BuildingLevels = 0;
|
|
+
|
|
+ /** The amenity of the building */
|
|
+ UPROPERTY( Category=StreetMap, EditAnywhere, BlueprintReadWrite )
|
|
FString Amenity;
|
|
-
|
|
- /** The building type */
|
|
- UPROPERTY( Category=StreetMap, EditAnywhere, BlueprintReadWrite )
|
|
+
|
|
+ /** The building type */
|
|
+ UPROPERTY( Category=StreetMap, EditAnywhere, BlueprintReadWrite )
|
|
FString Building;
|
|
|
|
// @todo: Performance: Bounding information could be computed at load time if we want to avoid the memory cost of storing it
|
|
|
|
/** 2D bounds (min) of this building's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMin;
|
|
+ FVector2D BoundsMin = FVector2D::ZeroVector;
|
|
|
|
/** 2D bounds (max) of this building's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMax;
|
|
+ FVector2D BoundsMax = FVector2D::ZeroVector;
|
|
};
|
|
|
|
|
|
@@ -342,11 +348,11 @@ struct STREETMAPRUNTIME_API FStreetMapWater
|
|
|
|
/** 2D bounds (min) of this water's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMin;
|
|
+ FVector2D BoundsMin = FVector2D::ZeroVector;
|
|
|
|
/** 2D bounds (max) of this water's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMax;
|
|
+ FVector2D BoundsMax = FVector2D::ZeroVector;
|
|
};
|
|
|
|
USTRUCT( BlueprintType )
|
|
@@ -366,11 +372,11 @@ struct STREETMAPRUNTIME_API FStreetMapPark
|
|
|
|
/** 2D bounds (min) of this water's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMin;
|
|
+ FVector2D BoundsMin = FVector2D::ZeroVector;
|
|
|
|
/** 2D bounds (max) of this water's points */
|
|
UPROPERTY( Category=StreetMap, EditAnywhere )
|
|
- FVector2D BoundsMax;
|
|
+ FVector2D BoundsMax = FVector2D::ZeroVector;
|
|
};
|
|
|
|
|
|
@@ -386,7 +392,10 @@ public:
|
|
UStreetMap();
|
|
|
|
// UObject overrides
|
|
- virtual void GetAssetRegistryTags( TArray<FAssetRegistryTag>& OutTags ) const override;
|
|
+ // Portage 5.5 : la surcharge TArray<FAssetRegistryTag>& est depreciee (C4996) et
|
|
+ // disparait a la version suivante du moteur. FAssetRegistryTagsContext est declare
|
|
+ // par UObject/Object.h, aucun include supplementaire n'est necessaire ici.
|
|
+ virtual void GetAssetRegistryTags( FAssetRegistryTagsContext Context ) const override;
|
|
|
|
/** Gets the roads in this street map (read only) */
|
|
const TArray<FStreetMapRoad>& GetRoads() const
|
|
@@ -681,8 +690,6 @@ inline float FStreetMapRoad::FindPositionAlongRoadForNode( const class UStreetMa
|
|
{
|
|
float CurrentPointPositionAlongRoad = 0.0f;
|
|
|
|
- bool bFoundLocation = false;
|
|
- const int32 NumPoints = RoadPoints.Num();
|
|
for( int32 CurrentPointIndex = 0; CurrentPointIndex < PointIndexForNode; ++CurrentPointIndex )
|
|
{
|
|
const FVector2D CurrentPointLocation = RoadPoints[ CurrentPointIndex ];
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapActor.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapActor.h
|
|
index e8bae48..7435f91 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapActor.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapActor.h
|
|
@@ -1,7 +1,4 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#pragma once
|
|
-
|
|
#include "StreetMapActor.generated.h"
|
|
|
|
/** An actor that renders a street map mesh component */
|
|
@@ -12,7 +9,7 @@ class STREETMAPRUNTIME_API AStreetMapActor : public AActor
|
|
|
|
/** Component that represents a section of street map roads and buildings */
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "StreetMap")
|
|
- class UStreetMapComponent* StreetMapComponent;
|
|
+ class UStreetMapComponent* StreetMapComponent;
|
|
|
|
public:
|
|
FORCEINLINE class UStreetMapComponent* GetStreetMapComponent() { return StreetMapComponent; }
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapComponent.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapComponent.h
|
|
index ea7ebb1..875a1d1 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapComponent.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/Public/StreetMapComponent.h
|
|
@@ -1,14 +1,11 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
#include "StreetMap.h"
|
|
#include "Components/MeshComponent.h"
|
|
#include "Interfaces/Interface_CollisionDataProvider.h"
|
|
-#include "StreetMapSceneProxy.h"
|
|
+#include "MaterialDomain.h"
|
|
+#include "../StreetMapSceneProxy.h"
|
|
#include "StreetMapComponent.generated.h"
|
|
|
|
-
|
|
-
|
|
class UBodySetup;
|
|
|
|
/**
|
|
@@ -141,10 +138,10 @@ protected:
|
|
void GenerateMesh();
|
|
|
|
/** Adds a 2D line to the raw mesh */
|
|
- void AddThick2DLine(const FVector2D Start, const FVector2D End, const float Z, const float Thickness, const FColor& StartColor, const FColor& EndColor, FBox& MeshBoundingBox);
|
|
+ void AddThick2DLine(const FVector2f Start, const FVector2f End, const float Z, const float Thickness, const FColor& StartColor, const FColor& EndColor, FBox3f& MeshBoundingBox);
|
|
|
|
/** Adds 3D triangles to the raw mesh */
|
|
- void AddTriangles(const TArray<FVector>& Points, const TArray<int32>& PointIndices, const FVector& ForwardVector, const FVector& UpVector, const FColor& Color, FBox& MeshBoundingBox);
|
|
+ void AddTriangles(const TArray<FVector3f>& Points, const TArray<int32>& PointIndices, const FVector3f& ForwardVector, const FVector3f& UpVector, const FColor& Color, FBox3f& MeshBoundingBox);
|
|
|
|
|
|
protected:
|
|
@@ -171,18 +168,17 @@ protected:
|
|
|
|
/** Cached raw mesh vertices */
|
|
UPROPERTY()
|
|
- TArray< struct FStreetMapVertex > Vertices;
|
|
+ TArray< struct FStreetMapVertex > Vertices;
|
|
|
|
/** Cached raw mesh triangle indices */
|
|
UPROPERTY()
|
|
- TArray< uint32 > Indices;
|
|
+ TArray< uint32 > Indices;
|
|
|
|
/** Cached bounding box */
|
|
UPROPERTY()
|
|
- FBoxSphereBounds CachedLocalBounds;
|
|
+ FBoxSphereBounds CachedLocalBounds;
|
|
|
|
/** Cached StreetMap DefaultMaterial */
|
|
UPROPERTY()
|
|
- UMaterialInterface* StreetMapDefaultMaterial;
|
|
-
|
|
+ UMaterialInterface* StreetMapDefaultMaterial;
|
|
};
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMap.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMap.cpp
|
|
index a998c3a..537e8bb 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMap.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMap.cpp
|
|
@@ -1,14 +1,11 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapRuntime.h"
|
|
#include "StreetMap.h"
|
|
+#include "UObject/AssetRegistryTagsContext.h"
|
|
#include "EditorFramework/AssetImportData.h"
|
|
#include "PolygonTools.h"
|
|
-#include "Runtime/Engine/Classes/Engine/StaticMesh.h"
|
|
-#include "Runtime/Engine/Public/StaticMeshResources.h"
|
|
+#include "Engine/StaticMesh.h"
|
|
+#include "StaticMeshResources.h"
|
|
#include "PhysicsEngine/BodySetup.h"
|
|
|
|
-
|
|
UStreetMap::UStreetMap()
|
|
{
|
|
#if WITH_EDITORONLY_DATA
|
|
@@ -20,16 +17,18 @@ UStreetMap::UStreetMap()
|
|
}
|
|
|
|
|
|
-void UStreetMap::GetAssetRegistryTags( TArray<FAssetRegistryTag>& OutTags ) const
|
|
+// Portage 5.5 : voir StreetMap.h. Meme corps, la seule difference est que le tag est
|
|
+// pousse dans le contexte au lieu d'etre ajoute a un tableau fourni par l'appelant.
|
|
+void UStreetMap::GetAssetRegistryTags( FAssetRegistryTagsContext Context ) const
|
|
{
|
|
#if WITH_EDITORONLY_DATA
|
|
if( AssetImportData )
|
|
{
|
|
- OutTags.Add( FAssetRegistryTag( SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden ) );
|
|
+ Context.AddTag( FAssetRegistryTag( SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden ) );
|
|
}
|
|
#endif
|
|
|
|
- Super::GetAssetRegistryTags( OutTags );
|
|
+ Super::GetAssetRegistryTags( Context );
|
|
}
|
|
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapActor.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapActor.cpp
|
|
index 735f8a0..991f6b3 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapActor.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapActor.cpp
|
|
@@ -1,10 +1,6 @@
|
|
-// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapRuntime.h"
|
|
#include "StreetMapActor.h"
|
|
#include "StreetMapComponent.h"
|
|
|
|
-
|
|
AStreetMapActor::AStreetMapActor(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapComponent.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapComponent.cpp
|
|
index fa8f9d4..6b3a669 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapComponent.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapComponent.cpp
|
|
@@ -1,21 +1,16 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapRuntime.h"
|
|
#include "StreetMapComponent.h"
|
|
#include "StreetMapSceneProxy.h"
|
|
-#include "Runtime/Engine/Classes/Engine/StaticMesh.h"
|
|
-#include "Runtime/Engine/Public/StaticMeshResources.h"
|
|
+#include "NavigationSystem.h"
|
|
+#include "Engine/StaticMesh.h"
|
|
+#include "StaticMeshResources.h"
|
|
#include "PolygonTools.h"
|
|
-
|
|
#include "PhysicsEngine/BodySetup.h"
|
|
|
|
#if WITH_EDITOR
|
|
-#include "ModuleManager.h"
|
|
+#include "Modules/ModuleManager.h"
|
|
#include "PropertyEditorModule.h"
|
|
#endif //WITH_EDITOR
|
|
|
|
-
|
|
-
|
|
UStreetMapComponent::UStreetMapComponent(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer),
|
|
StreetMap(nullptr),
|
|
@@ -242,7 +237,7 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
if( StreetMap != nullptr )
|
|
{
|
|
- FBox MeshBoundingBox;
|
|
+ FBox3f MeshBoundingBox;
|
|
MeshBoundingBox.Init();
|
|
|
|
const auto& Roads = StreetMap->GetRoads();
|
|
@@ -279,8 +274,8 @@ void UStreetMapComponent::GenerateMesh()
|
|
for( int32 PointIndex = 0; PointIndex < Road.RoadPoints.Num() - 1; ++PointIndex )
|
|
{
|
|
AddThick2DLine(
|
|
- Road.RoadPoints[ PointIndex ],
|
|
- Road.RoadPoints[ PointIndex + 1 ],
|
|
+ FVector2f(Road.RoadPoints[ PointIndex ]),
|
|
+ FVector2f(Road.RoadPoints[ PointIndex + 1 ]),
|
|
RoadZ,
|
|
RoadThickness,
|
|
RoadColor,
|
|
@@ -291,7 +286,7 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
TArray< int32 > TempIndices;
|
|
TArray< int32 > TriangulatedVertexIndices;
|
|
- TArray< FVector > TempPoints;
|
|
+ TArray< FVector3f > TempPoints;
|
|
for( int32 BuildingIndex = 0; BuildingIndex < Buildings.Num(); ++BuildingIndex )
|
|
{
|
|
const auto& Building = Buildings[ BuildingIndex ];
|
|
@@ -323,12 +318,12 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
// Top of building
|
|
{
|
|
- TempPoints.SetNum( Building.BuildingPoints.Num(), false );
|
|
+ TempPoints.SetNum( Building.BuildingPoints.Num(), EAllowShrinking::No );
|
|
for( int32 PointIndex = 0; PointIndex < Building.BuildingPoints.Num(); ++PointIndex )
|
|
{
|
|
- TempPoints[ PointIndex ] = FVector( Building.BuildingPoints[ ( Building.BuildingPoints.Num() - PointIndex ) - 1 ], BuildingFillZ );
|
|
+ TempPoints[ PointIndex ] = FVector3f( FVector2f(Building.BuildingPoints[ ( Building.BuildingPoints.Num() - PointIndex ) - 1 ]), BuildingFillZ );
|
|
}
|
|
- AddTriangles( TempPoints, TriangulatedVertexIndices, FVector::ForwardVector, FVector::UpVector, BuildingFillColor, MeshBoundingBox );
|
|
+ AddTriangles( TempPoints, TriangulatedVertexIndices, FVector3f::ForwardVector, FVector3f::UpVector, BuildingFillColor, MeshBoundingBox );
|
|
}
|
|
|
|
if( bWant3DBuildings && (Building.Height > KINDA_SMALL_NUMBER || Building.BuildingLevels > 0) )
|
|
@@ -341,22 +336,22 @@ void UStreetMapComponent::GenerateMesh()
|
|
{
|
|
const int32 RightPointIndex = ( LeftPointIndex + 1 ) % Building.BuildingPoints.Num();
|
|
|
|
- TempPoints.SetNum( 4, false );
|
|
+ TempPoints.SetNum( 4, EAllowShrinking::No );
|
|
|
|
const int32 TopLeftVertexIndex = 0;
|
|
- TempPoints[ TopLeftVertexIndex ] = FVector( Building.BuildingPoints[ WindsClockwise ? RightPointIndex : LeftPointIndex ], BuildingFillZ );
|
|
+ TempPoints[ TopLeftVertexIndex ] = FVector3f( FVector2f(Building.BuildingPoints[ WindsClockwise ? RightPointIndex : LeftPointIndex ]), BuildingFillZ );
|
|
|
|
const int32 TopRightVertexIndex = 1;
|
|
- TempPoints[ TopRightVertexIndex ] = FVector( Building.BuildingPoints[ WindsClockwise ? LeftPointIndex : RightPointIndex ], BuildingFillZ );
|
|
+ TempPoints[ TopRightVertexIndex ] = FVector3f( FVector2f(Building.BuildingPoints[ WindsClockwise ? LeftPointIndex : RightPointIndex ]), BuildingFillZ );
|
|
|
|
const int32 BottomRightVertexIndex = 2;
|
|
- TempPoints[ BottomRightVertexIndex ] = FVector( Building.BuildingPoints[ WindsClockwise ? LeftPointIndex : RightPointIndex ], 0.0f );
|
|
+ TempPoints[ BottomRightVertexIndex ] = FVector3f( FVector2f(Building.BuildingPoints[ WindsClockwise ? LeftPointIndex : RightPointIndex ]), 0.0f );
|
|
|
|
const int32 BottomLeftVertexIndex = 3;
|
|
- TempPoints[ BottomLeftVertexIndex ] = FVector( Building.BuildingPoints[ WindsClockwise ? RightPointIndex : LeftPointIndex ], 0.0f );
|
|
+ TempPoints[ BottomLeftVertexIndex ] = FVector3f( FVector2f(Building.BuildingPoints[ WindsClockwise ? RightPointIndex : LeftPointIndex ]), 0.0f );
|
|
|
|
|
|
- TempIndices.SetNum( 6, false );
|
|
+ TempIndices.SetNum( 6, EAllowShrinking::No );
|
|
|
|
TempIndices[ 0 ] = BottomLeftVertexIndex;
|
|
TempIndices[ 1 ] = TopLeftVertexIndex;
|
|
@@ -366,9 +361,9 @@ void UStreetMapComponent::GenerateMesh()
|
|
TempIndices[ 4 ] = TopLeftVertexIndex;
|
|
TempIndices[ 5 ] = TopRightVertexIndex;
|
|
|
|
- const FVector FaceNormal = FVector::CrossProduct( ( TempPoints[ 0 ] - TempPoints[ 2 ] ).GetSafeNormal(), ( TempPoints[ 0 ] - TempPoints[ 1 ] ).GetSafeNormal() );
|
|
- const FVector ForwardVector = FVector::UpVector;
|
|
- const FVector UpVector = FaceNormal;
|
|
+ const FVector3f FaceNormal = FVector3f::CrossProduct( ( TempPoints[ 0 ] - TempPoints[ 2 ] ).GetSafeNormal(), ( TempPoints[ 0 ] - TempPoints[ 1 ] ).GetSafeNormal() );
|
|
+ const FVector3f ForwardVector = FVector3f::UpVector;
|
|
+ const FVector3f UpVector = FaceNormal;
|
|
AddTriangles( TempPoints, TempIndices, ForwardVector, UpVector, BuildingFillColor, MeshBoundingBox );
|
|
}
|
|
}
|
|
@@ -381,10 +376,10 @@ void UStreetMapComponent::GenerateMesh()
|
|
const FVector2D Point = Building.BuildingPoints[ PointIndex ];
|
|
|
|
FStreetMapVertex& NewVertex = *new( this->Vertices )FStreetMapVertex();
|
|
- NewVertex.Position = FVector( Point, 0.0f );
|
|
- NewVertex.TextureCoordinate = FVector2D( 0.0f, 0.0f ); // NOTE: We're not using texture coordinates for anything yet
|
|
- NewVertex.TangentX = FVector::ForwardVector; // NOTE: Tangents aren't important for these unlit buildings
|
|
- NewVertex.TangentZ = FVector::UpVector;
|
|
+ NewVertex.Position = FVector3f( FVector2f(Point), 0.0f );
|
|
+ NewVertex.TextureCoordinate = FVector2f( 0.0f, 0.0f ); // NOTE: We're not using texture coordinates for anything yet
|
|
+ NewVertex.TangentX = FVector3f::ForwardVector; // NOTE: Tangents aren't important for these unlit buildings
|
|
+ NewVertex.TangentZ = FVector3f::UpVector;
|
|
NewVertex.Color = BuildingFillColor;
|
|
|
|
MeshBoundingBox += NewVertex.Position;
|
|
@@ -423,8 +418,8 @@ void UStreetMapComponent::GenerateMesh()
|
|
for( int32 PointIndex = 0; PointIndex < Building.BuildingPoints.Num(); ++PointIndex )
|
|
{
|
|
AddThick2DLine(
|
|
- Building.BuildingPoints[ PointIndex ],
|
|
- Building.BuildingPoints[ ( PointIndex + 1 ) % Building.BuildingPoints.Num() ],
|
|
+ FVector2f(Building.BuildingPoints[ PointIndex ]),
|
|
+ FVector2f(Building.BuildingPoints[ ( PointIndex + 1 ) % Building.BuildingPoints.Num() ]),
|
|
BuildingBorderZ,
|
|
BuildingBorderThickness, // Thickness
|
|
BuildingBorderColor,
|
|
@@ -438,7 +433,7 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
TArray< int32 > TempIndicesW;
|
|
TArray< int32 > TriangulatedVertexIndicesW;
|
|
- TArray< FVector > TempPointsW;
|
|
+ TArray< FVector3f > TempPointsW;
|
|
for( int32 WaterIndex = 0; WaterIndex < Waters.Num(); ++WaterIndex )
|
|
{
|
|
const auto& Water = Waters[ WaterIndex ];
|
|
@@ -462,12 +457,12 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
// Top of Water
|
|
{
|
|
- TempPointsW.SetNum( Water.WaterPoints.Num(), false );
|
|
+ TempPointsW.SetNum( Water.WaterPoints.Num(), EAllowShrinking::No );
|
|
for( int32 PointIndex = 0; PointIndex < Water.WaterPoints.Num(); ++PointIndex )
|
|
{
|
|
- TempPointsW[ PointIndex ] = FVector( Water.WaterPoints[ ( Water.WaterPoints.Num() - PointIndex ) - 1 ], WaterFillZ );
|
|
+ TempPointsW[ PointIndex ] = FVector3f( FVector2f(Water.WaterPoints[ ( Water.WaterPoints.Num() - PointIndex ) - 1 ]), WaterFillZ );
|
|
}
|
|
- AddTriangles( TempPointsW, TriangulatedVertexIndicesW, FVector::ForwardVector, FVector::UpVector, WaterColor, MeshBoundingBox );
|
|
+ AddTriangles( TempPointsW, TriangulatedVertexIndicesW, FVector3f::ForwardVector, FVector3f::UpVector, WaterColor, MeshBoundingBox );
|
|
}
|
|
|
|
}
|
|
@@ -485,7 +480,7 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
TArray< int32 > TempIndicesP;
|
|
TArray< int32 > TriangulatedVertexIndicesP;
|
|
- TArray< FVector > TempPointsP;
|
|
+ TArray< FVector3f > TempPointsP;
|
|
for( int32 ParkIndex = 0; ParkIndex < Parks.Num(); ++ParkIndex )
|
|
{
|
|
const auto& Park = Parks[ ParkIndex ];
|
|
@@ -509,12 +504,12 @@ void UStreetMapComponent::GenerateMesh()
|
|
|
|
// Top of Park
|
|
{
|
|
- TempPointsP.SetNum( Park.ParkPoints.Num(), false );
|
|
+ TempPointsP.SetNum( Park.ParkPoints.Num(), EAllowShrinking::No );
|
|
for( int32 PointIndex = 0; PointIndex < Park.ParkPoints.Num(); ++PointIndex )
|
|
{
|
|
- TempPointsP[ PointIndex ] = FVector( Park.ParkPoints[ ( Park.ParkPoints.Num() - PointIndex ) - 1 ], ParkFillZ );
|
|
+ TempPointsP[ PointIndex ] = FVector3f( FVector2f(Park.ParkPoints[ ( Park.ParkPoints.Num() - PointIndex ) - 1 ]), ParkFillZ );
|
|
}
|
|
- AddTriangles( TempPointsP, TriangulatedVertexIndicesP, FVector::ForwardVector, FVector::UpVector, ParkColor, MeshBoundingBox );
|
|
+ AddTriangles( TempPointsP, TriangulatedVertexIndicesP, FVector3f::ForwardVector, FVector3f::UpVector, ParkColor, MeshBoundingBox );
|
|
}
|
|
|
|
}
|
|
@@ -527,7 +522,7 @@ void UStreetMapComponent::GenerateMesh()
|
|
// Park border
|
|
}
|
|
|
|
- CachedLocalBounds = MeshBoundingBox;
|
|
+ CachedLocalBounds = FBox(MeshBoundingBox);
|
|
}
|
|
}
|
|
|
|
@@ -646,46 +641,46 @@ FBoxSphereBounds UStreetMapComponent::CalcBounds( const FTransform& LocalToWorld
|
|
}
|
|
|
|
|
|
-void UStreetMapComponent::AddThick2DLine( const FVector2D Start, const FVector2D End, const float Z, const float Thickness, const FColor& StartColor, const FColor& EndColor, FBox& MeshBoundingBox )
|
|
+void UStreetMapComponent::AddThick2DLine( const FVector2f Start, const FVector2f End, const float Z, const float Thickness, const FColor& StartColor, const FColor& EndColor, FBox3f& MeshBoundingBox )
|
|
{
|
|
const float HalfThickness = Thickness * 0.5f;
|
|
|
|
- const FVector2D LineDirection = ( End - Start ).GetSafeNormal();
|
|
- const FVector2D RightVector( -LineDirection.Y, LineDirection.X );
|
|
+ const FVector2f LineDirection = ( End - Start ).GetSafeNormal();
|
|
+ const FVector2f RightVector( -LineDirection.Y, LineDirection.X );
|
|
|
|
const int32 BottomLeftVertexIndex = Vertices.Num();
|
|
FStreetMapVertex& BottomLeftVertex = *new( Vertices )FStreetMapVertex();
|
|
- BottomLeftVertex.Position = FVector( Start - RightVector * HalfThickness, Z );
|
|
- BottomLeftVertex.TextureCoordinate = FVector2D( 0.0f, 0.0f );
|
|
- BottomLeftVertex.TangentX = FVector( LineDirection, 0.0f );
|
|
- BottomLeftVertex.TangentZ = FVector::UpVector;
|
|
+ BottomLeftVertex.Position = FVector3f( Start - RightVector * HalfThickness, Z );
|
|
+ BottomLeftVertex.TextureCoordinate = FVector2f( 0.0f, 0.0f );
|
|
+ BottomLeftVertex.TangentX = FVector3f( LineDirection, 0.0f );
|
|
+ BottomLeftVertex.TangentZ = FVector3f::UpVector;
|
|
BottomLeftVertex.Color = StartColor;
|
|
MeshBoundingBox += BottomLeftVertex.Position;
|
|
|
|
const int32 BottomRightVertexIndex = Vertices.Num();
|
|
FStreetMapVertex& BottomRightVertex = *new( Vertices )FStreetMapVertex();
|
|
- BottomRightVertex.Position = FVector( Start + RightVector * HalfThickness, Z );
|
|
- BottomRightVertex.TextureCoordinate = FVector2D( 1.0f, 0.0f );
|
|
- BottomRightVertex.TangentX = FVector( LineDirection, 0.0f );
|
|
- BottomRightVertex.TangentZ = FVector::UpVector;
|
|
+ BottomRightVertex.Position = FVector3f( Start + RightVector * HalfThickness, Z );
|
|
+ BottomRightVertex.TextureCoordinate = FVector2f( 1.0f, 0.0f );
|
|
+ BottomRightVertex.TangentX = FVector3f( LineDirection, 0.0f );
|
|
+ BottomRightVertex.TangentZ = FVector3f::UpVector;
|
|
BottomRightVertex.Color = StartColor;
|
|
MeshBoundingBox += BottomRightVertex.Position;
|
|
|
|
const int32 TopRightVertexIndex = Vertices.Num();
|
|
FStreetMapVertex& TopRightVertex = *new( Vertices )FStreetMapVertex();
|
|
- TopRightVertex.Position = FVector( End + RightVector * HalfThickness, Z );
|
|
- TopRightVertex.TextureCoordinate = FVector2D( 1.0f, 1.0f );
|
|
- TopRightVertex.TangentX = FVector( LineDirection, 0.0f );
|
|
- TopRightVertex.TangentZ = FVector::UpVector;
|
|
+ TopRightVertex.Position = FVector3f( End + RightVector * HalfThickness, Z );
|
|
+ TopRightVertex.TextureCoordinate = FVector2f( 1.0f, 1.0f );
|
|
+ TopRightVertex.TangentX = FVector3f( LineDirection, 0.0f );
|
|
+ TopRightVertex.TangentZ = FVector3f::UpVector;
|
|
TopRightVertex.Color = EndColor;
|
|
MeshBoundingBox += TopRightVertex.Position;
|
|
|
|
const int32 TopLeftVertexIndex = Vertices.Num();
|
|
FStreetMapVertex& TopLeftVertex = *new( Vertices )FStreetMapVertex();
|
|
- TopLeftVertex.Position = FVector( End - RightVector * HalfThickness, Z );
|
|
- TopLeftVertex.TextureCoordinate = FVector2D( 0.0f, 1.0f );
|
|
- TopLeftVertex.TangentX = FVector( LineDirection, 0.0f );
|
|
- TopLeftVertex.TangentZ = FVector::UpVector;
|
|
+ TopLeftVertex.Position = FVector3f( End - RightVector * HalfThickness, Z );
|
|
+ TopLeftVertex.TextureCoordinate = FVector2f( 0.0f, 1.0f );
|
|
+ TopLeftVertex.TangentX = FVector3f( LineDirection, 0.0f );
|
|
+ TopLeftVertex.TangentZ = FVector3f::UpVector;
|
|
TopLeftVertex.Color = EndColor;
|
|
MeshBoundingBox += TopLeftVertex.Position;
|
|
|
|
@@ -699,15 +694,15 @@ void UStreetMapComponent::AddThick2DLine( const FVector2D Start, const FVector2D
|
|
};
|
|
|
|
|
|
-void UStreetMapComponent::AddTriangles( const TArray<FVector>& Points, const TArray<int32>& PointIndices, const FVector& ForwardVector, const FVector& UpVector, const FColor& Color, FBox& MeshBoundingBox )
|
|
+void UStreetMapComponent::AddTriangles( const TArray<FVector3f>& Points, const TArray<int32>& PointIndices, const FVector3f& ForwardVector, const FVector3f& UpVector, const FColor& Color, FBox3f& MeshBoundingBox )
|
|
{
|
|
const int32 FirstVertexIndex = Vertices.Num();
|
|
|
|
- for( FVector Point : Points )
|
|
+ for( FVector3f Point : Points )
|
|
{
|
|
FStreetMapVertex& NewVertex = *new( Vertices )FStreetMapVertex();
|
|
NewVertex.Position = Point;
|
|
- NewVertex.TextureCoordinate = FVector2D( 0.0f, 0.0f ); // NOTE: We're not using texture coordinates for anything yet
|
|
+ NewVertex.TextureCoordinate = FVector2f( 0.0f, 0.0f ); // NOTE: We're not using texture coordinates for anything yet
|
|
NewVertex.TangentX = ForwardVector;
|
|
NewVertex.TangentZ = UpVector;
|
|
NewVertex.Color = Color;
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.Build.cs b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.Build.cs
|
|
index 2a5b5dd..cf7cdb9 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.Build.cs
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.Build.cs
|
|
@@ -7,8 +7,6 @@ namespace UnrealBuildTool.Rules
|
|
public StreetMapRuntime(ReadOnlyTargetRules Target)
|
|
: base(Target)
|
|
{
|
|
- PrivatePCHHeaderFile = "StreetMapRuntime.h";
|
|
-
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"Core",
|
|
@@ -16,15 +14,9 @@ namespace UnrealBuildTool.Rules
|
|
"Engine",
|
|
"RHI",
|
|
"RenderCore",
|
|
+ "NavigationSystem"
|
|
}
|
|
);
|
|
-
|
|
- if (Target.bBuildEditor == true)
|
|
- {
|
|
- //@TODO: Needed for FPropertyEditorModule::NotifyCustomizationModuleChanged()
|
|
- //@TOOD: To move/implement in FStreetMapComponentDetails
|
|
- PrivateDependencyModuleNames.Add("PropertyEditor");
|
|
- }
|
|
- }
|
|
+ }
|
|
}
|
|
}
|
|
\ No newline at end of file
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.cpp
|
|
index 1b41c09..4a6de7c 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.cpp
|
|
@@ -1,8 +1,5 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
#include "StreetMapRuntime.h"
|
|
-#include "ModuleManager.h"
|
|
-
|
|
+#include "Modules/ModuleManager.h"
|
|
|
|
class FStreetMapRuntimeModule : public IModuleInterface
|
|
{
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.h
|
|
index cf30db0..45dcbb0 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapRuntime.h
|
|
@@ -1,7 +1,3 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
|
|
-#include "EngineMinimal.h"
|
|
-#include "Classes/Engine/Engine.h" // For UEngine
|
|
-#include "EngineGlobals.h" // For GEngine
|
|
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp
|
|
index 3a1c4f5..c1b31b7 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp
|
|
@@ -1,18 +1,15 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
-
|
|
-#include "StreetMapRuntime.h"
|
|
#include "StreetMapSceneProxy.h"
|
|
#include "StreetMapComponent.h"
|
|
-#include "Runtime/Engine/Public/SceneManagement.h"
|
|
-
|
|
+#include "Materials/MaterialRenderProxy.h"
|
|
+#include "SceneManagement.h"
|
|
|
|
FStreetMapSceneProxy::FStreetMapSceneProxy(const UStreetMapComponent* InComponent)
|
|
: FPrimitiveSceneProxy(InComponent),
|
|
- StreetMapComp(InComponent),
|
|
- CollisionResponse(InComponent->GetCollisionResponseToChannels()),
|
|
- VertexFactory(GetScene().GetFeatureLevel(), "FStreetMapSceneProxy")
|
|
+ VertexFactory(GetScene().GetFeatureLevel(), "FStreetMapSceneProxy"),
|
|
+ MaterialInterface(nullptr),
|
|
+ StreetMapComp(InComponent),
|
|
+ CollisionResponse(InComponent->GetCollisionResponseToChannels())
|
|
{
|
|
-
|
|
}
|
|
|
|
void FStreetMapSceneProxy::Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint32 >& Indices)
|
|
@@ -87,9 +84,9 @@ void FStreetMapSceneProxy::InitResources()
|
|
}
|
|
|
|
|
|
-bool FStreetMapSceneProxy::MustDrawMeshDynamically(const FSceneView& View) const
|
|
+bool FStreetMapSceneProxy::MustDrawMeshDynamically( const FSceneView& View ) const
|
|
{
|
|
- return (AllowDebugViewmodes() && View.Family->EngineShowFlags.Wireframe) || IsSelected();
|
|
+ return ( AllowDebugViewmodes() && View.Family->EngineShowFlags.Wireframe ) || IsSelected();
|
|
}
|
|
|
|
|
|
@@ -98,18 +95,16 @@ bool FStreetMapSceneProxy::IsInCollisionView(const FEngineShowFlags& EngineShowF
|
|
return EngineShowFlags.CollisionVisibility || EngineShowFlags.CollisionPawn;
|
|
}
|
|
|
|
-FPrimitiveViewRelevance FStreetMapSceneProxy::GetViewRelevance(const FSceneView* View) const
|
|
+FPrimitiveViewRelevance FStreetMapSceneProxy::GetViewRelevance( const FSceneView* View ) const
|
|
{
|
|
FPrimitiveViewRelevance Result;
|
|
Result.bDrawRelevance = IsShown(View);
|
|
Result.bShadowRelevance = IsShadowCast(View);
|
|
-
|
|
- const bool bAlwaysHasDynamicData = false;
|
|
-
|
|
+
|
|
// Only draw dynamically if we're drawing in wireframe or we're selected in the editor
|
|
- Result.bDynamicRelevance = MustDrawMeshDynamically(*View) || bAlwaysHasDynamicData;
|
|
- Result.bStaticRelevance = !MustDrawMeshDynamically(*View);
|
|
-
|
|
+ Result.bDynamicRelevance = MustDrawMeshDynamically( *View );
|
|
+ Result.bStaticRelevance = !MustDrawMeshDynamically( *View );
|
|
+
|
|
MaterialRelevance.SetPrimitiveViewRelevance(Result);
|
|
return Result;
|
|
}
|
|
@@ -121,33 +116,16 @@ bool FStreetMapSceneProxy::CanBeOccluded() const
|
|
}
|
|
|
|
|
|
-void FStreetMapSceneProxy::MakeMeshBatch(FMeshBatch& Mesh, FMaterialRenderProxy* WireframeMaterialRenderProxyOrNull, bool bDrawCollision) const
|
|
+void FStreetMapSceneProxy::MakeMeshBatch( FMeshBatch& Mesh, FMaterialRenderProxy* MaterialRenderProxy, bool bInWireframe) const
|
|
{
|
|
- FMaterialRenderProxy* MaterialProxy = NULL;
|
|
- if (WireframeMaterialRenderProxyOrNull != nullptr)
|
|
- {
|
|
- MaterialProxy = WireframeMaterialRenderProxyOrNull;
|
|
- }
|
|
- else
|
|
- {
|
|
- if (bDrawCollision)
|
|
- {
|
|
- MaterialProxy = new FColoredMaterialRenderProxy(GEngine->ShadedLevelColorationUnlitMaterial->GetRenderProxy(), FColor::Cyan);
|
|
- }
|
|
- else if (MaterialProxy == nullptr)
|
|
- {
|
|
- MaterialProxy = StreetMapComp->GetDefaultMaterial()->GetRenderProxy();
|
|
- }
|
|
- }
|
|
+ FMaterialRenderProxy* MaterialProxy = MaterialRenderProxy != nullptr ? MaterialRenderProxy : StreetMapComp->GetDefaultMaterial()->GetRenderProxy();
|
|
|
|
FMeshBatchElement& BatchElement = Mesh.Elements[0];
|
|
BatchElement.IndexBuffer = &IndexBuffer32;
|
|
- Mesh.bWireframe = WireframeMaterialRenderProxyOrNull != nullptr;
|
|
+ Mesh.bWireframe = bInWireframe;
|
|
Mesh.VertexFactory = &VertexFactory;
|
|
Mesh.MaterialRenderProxy = MaterialProxy;
|
|
Mesh.CastShadow = true;
|
|
- // 4.22+ : on utilise le uniform buffer du proxy (CreatePrimitiveUniformBufferImmediate a change de signature, UseEditorDepthTest a disparu)
|
|
- BatchElement.PrimitiveUniformBuffer = GetUniformBuffer();
|
|
BatchElement.FirstIndex = 0;
|
|
const int IndexCount = IndexBuffer32.Indices.Num();
|
|
BatchElement.NumPrimitives = IndexCount / 3;
|
|
@@ -156,19 +134,20 @@ void FStreetMapSceneProxy::MakeMeshBatch(FMeshBatch& Mesh, FMaterialRenderProxy*
|
|
Mesh.ReverseCulling = IsLocalToWorldDeterminantNegative();
|
|
Mesh.Type = PT_TriangleList;
|
|
Mesh.DepthPriorityGroup = SDPG_World;
|
|
+ Mesh.LODIndex = 0;
|
|
}
|
|
|
|
|
|
-void FStreetMapSceneProxy::DrawStaticElements(FStaticPrimitiveDrawInterface* PDI)
|
|
+void FStreetMapSceneProxy::DrawStaticElements( FStaticPrimitiveDrawInterface* PDI )
|
|
{
|
|
const int IndexCount = IndexBuffer32.Indices.Num();
|
|
- if (VertexBuffer.PositionVertexBuffer.GetNumVertices() > 0 && IndexCount > 0)
|
|
+ if( VertexBuffer.PositionVertexBuffer.GetNumVertices() > 0 && IndexCount > 0 )
|
|
{
|
|
const float ScreenSize = 1.0f;
|
|
|
|
FMeshBatch MeshBatch;
|
|
- MakeMeshBatch(MeshBatch, nullptr);
|
|
- PDI->DrawMesh(MeshBatch, ScreenSize);
|
|
+ MakeMeshBatch( MeshBatch, nullptr, false );
|
|
+ PDI->DrawMesh( MeshBatch, ScreenSize );
|
|
}
|
|
}
|
|
|
|
@@ -184,8 +163,13 @@ void FStreetMapSceneProxy::GetDynamicMeshElements(const TArray<const FSceneView*
|
|
|
|
const bool bIsWireframe = AllowDebugViewmodes() && View.Family->EngineShowFlags.Wireframe;
|
|
|
|
- FColoredMaterialRenderProxy* WireframeMaterialRenderProxy = GEngine->WireframeMaterial && bIsWireframe ? new FColoredMaterialRenderProxy(GEngine->WireframeMaterial->GetRenderProxy(), FLinearColor(0, 0.5f, 1.f)) : NULL;
|
|
-
|
|
+ FMaterialRenderProxy* WireframeMaterialRenderProxy = nullptr;
|
|
+ if (GEngine->WireframeMaterial && bIsWireframe)
|
|
+ {
|
|
+ // 5.5 : RegisterOneFrameMaterialProxy renvoie void (il renvoie le pointeur a partir de 5.6)
|
|
+ WireframeMaterialRenderProxy = new FColoredMaterialRenderProxy(GEngine->WireframeMaterial->GetRenderProxy(), FLinearColor(0, 0.5f, 1.f));
|
|
+ Collector.RegisterOneFrameMaterialProxy(WireframeMaterialRenderProxy);
|
|
+ }
|
|
|
|
if (MustDrawMeshDynamically(View))
|
|
{
|
|
@@ -197,9 +181,16 @@ void FStreetMapSceneProxy::GetDynamicMeshElements(const TArray<const FSceneView*
|
|
continue;
|
|
}
|
|
|
|
+ FMaterialRenderProxy* MaterialProxy = WireframeMaterialRenderProxy;
|
|
+ if (MaterialProxy == nullptr && bCanDrawCollision)
|
|
+ {
|
|
+ MaterialProxy = new FColoredMaterialRenderProxy(GEngine->ShadedLevelColorationUnlitMaterial->GetRenderProxy(), FColor::Cyan);
|
|
+ Collector.RegisterOneFrameMaterialProxy(MaterialProxy);
|
|
+ }
|
|
+
|
|
// Draw the mesh!
|
|
FMeshBatch& MeshBatch = Collector.AllocateMesh();
|
|
- MakeMeshBatch(MeshBatch, WireframeMaterialRenderProxy, bCanDrawCollision);
|
|
+ MakeMeshBatch(MeshBatch, MaterialProxy, bIsWireframe);
|
|
Collector.AddMesh(ViewIndex, MeshBatch);
|
|
}
|
|
}
|
|
@@ -207,7 +198,7 @@ void FStreetMapSceneProxy::GetDynamicMeshElements(const TArray<const FSceneView*
|
|
}
|
|
|
|
|
|
-uint32 FStreetMapSceneProxy::GetMemoryFootprint(void) const
|
|
-{
|
|
- return sizeof(*this) + GetAllocatedSize();
|
|
+uint32 FStreetMapSceneProxy::GetMemoryFootprint( void ) const
|
|
+{
|
|
+ return sizeof( *this ) + GetAllocatedSize();
|
|
}
|
|
diff --git a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.h b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.h
|
|
index 9b07bec..6392df7 100644
|
|
--- a/D:/Game/LifePlay-master 4.27/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.h
|
|
+++ b/D:/Game/LifePlay-master 5.5/Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.h
|
|
@@ -1,9 +1,7 @@
|
|
-// Copyright 2017 Mike Fricker. All Rights Reserved.
|
|
#pragma once
|
|
-
|
|
-#include "Runtime/Engine/Public/PrimitiveSceneProxy.h"
|
|
-#include "Runtime/Engine/Public/LocalVertexFactory.h"
|
|
-#include "Runtime/Engine/Public/DynamicMeshBuilder.h"
|
|
+#include "PrimitiveSceneProxy.h"
|
|
+#include "LocalVertexFactory.h"
|
|
+#include "DynamicMeshBuilder.h"
|
|
#include "StreetMapSceneProxy.generated.h"
|
|
|
|
/** A single vertex on a street map mesh */
|
|
@@ -15,37 +13,42 @@ struct FStreetMapVertex
|
|
|
|
/** Location of the vertex in local space */
|
|
UPROPERTY()
|
|
- FVector Position;
|
|
+ FVector3f Position;
|
|
|
|
/** Texture coordinate */
|
|
UPROPERTY()
|
|
- FVector2D TextureCoordinate;
|
|
+ FVector2f TextureCoordinate;
|
|
|
|
/** Tangent vector X */
|
|
UPROPERTY()
|
|
- FVector TangentX;
|
|
+ FVector3f TangentX;
|
|
|
|
/** Tangent vector Z (normal) */
|
|
UPROPERTY()
|
|
- FVector TangentZ;
|
|
+ FVector3f TangentZ;
|
|
|
|
/** Color */
|
|
UPROPERTY()
|
|
- FColor Color;
|
|
+ FColor Color;
|
|
|
|
|
|
- /** Default constructor, leaves everything uninitialized */
|
|
- FStreetMapVertex()
|
|
+ /** Default constructor */
|
|
+ FStreetMapVertex() :
|
|
+ Position(FVector3f::ZeroVector),
|
|
+ TextureCoordinate(FVector2f::ZeroVector),
|
|
+ TangentX(FVector3f::ZeroVector),
|
|
+ TangentZ(FVector3f::ZeroVector),
|
|
+ Color(FColor::White)
|
|
{
|
|
}
|
|
|
|
/** Construct with a supplied position and tangents for the vertex */
|
|
FStreetMapVertex(const FVector InitLocation, const FVector2D InitTextureCoordinate, const FVector InitTangentX, const FVector InitTangentZ, const FColor InitColor)
|
|
: Position(InitLocation),
|
|
- TextureCoordinate(InitTextureCoordinate),
|
|
- TangentX(InitTangentX),
|
|
- TangentZ(InitTangentZ),
|
|
- Color(InitColor)
|
|
+ TextureCoordinate(InitTextureCoordinate),
|
|
+ TangentX(InitTangentX),
|
|
+ TangentZ(InitTangentZ),
|
|
+ Color(InitColor)
|
|
{
|
|
}
|
|
};
|
|
@@ -82,7 +85,7 @@ protected:
|
|
void InitResources();
|
|
|
|
/** Makes a MeshBatch for rendering. Called every time the mesh is drawn */
|
|
- void MakeMeshBatch(struct FMeshBatch& Mesh, class FMaterialRenderProxy* WireframeMaterialRenderProxyOrNull, bool bDrawCollision = false) const;
|
|
+ void MakeMeshBatch(struct FMeshBatch& Mesh, class FMaterialRenderProxy* MaterialRenderProxy, bool bInWireframe) const;
|
|
|
|
/** Checks to see if this mesh must be drawn during the dynamic pass. Note that even when this returns false, we may still
|
|
have other (debug) geometry to render as dynamic */
|