Jay2645 / Unreal-Polygonal-Map-Gen

An Unreal Engine 4 implementation of the Polygonal Map Generator for generating islands found at http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rebuild Project

Luxerator opened this issue · comments

Hey,

this is a really cool Plugin :D

But I have issues at the installation. When I'm trying to start it (after following your instructions) I get this Error: " could not be compiled. Try rebuilding from source manually. "

And when I'm doing this with Visual Studio I get following error message:
...\Plugins\UnrealPolygonalMapGenmaster\Source\PolygonalMapGenerator\Private\PolygonalMapGeneratorPrivatePCH.h" is included by most of the source files. The following source files are not including ...\Plugins\UnrealPolygonalMapGenmaster\Source\PolygonalMapGenerator\Private\PolygonalMapGeneratorPrivatePCH.h" as their first include:...\Intermediate\ProjectFiles\EXEC

I'm using Ue4 Version 4.18 and Visual Studio 17.

Any suggestions??

Thank you for a very interesting and useful plugin!!!
I've got a good results for my project, but now I'm trying to combine with another plugin, which is only available on version 4.18.
At the moment, I have the same problem with recompiling :(
I deleted the 'Intermediate', '.vs' and 'Binaries' files and tried to rebuil the project, but again and again it's crashing :( Can you help me please?

Here some errors:

Error MSB3075 The command ""D:\GAME ENGINE\UE_4.18\Engine\Build\BatchFiles\Build.bat" qwer16cEditor Win64 Development "E:\Unreal Projects\qwer16c_RUNcopy\qwer16c.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command. qwer16c C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 41

Error UnrealHeaderTool failed for target 'qwer16cEditor' (platform: Win64, module info: E:\Unreal Projects\qwer16c_RUNcopy\Intermediate\Build\Win64\qwer16cEditor\Development\qwer16cEditor.uhtmanifest, exit code: OtherCompilationError (5)). qwer16c E:\Unreal Projects\qwer16c_RUNcopy\Intermediate\ProjectFiles\EXEC

Warning E:\Unreal Projects\qwer16c_RUNcopy\Plugins\PolygonalMapGenerator\Source\PolygonalMapGenerator\PolygonalMapGenerator.Build.cs: warning: Module constructors should take a ReadOnlyTargetRules argument (rather than a TargetInfo argument) and pass it to the base class constructor from 4.15 onwards. Please update the method signature. qwer16c E:\Unreal Projects\qwer16c_RUNcopy\Intermediate\ProjectFiles\EXEC 1

Warning MSB4011 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Makefile.props" cannot be imported again. It was already imported at "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.cpp.props (31,3)". This is most likely a build authoring error. This subsequent import will be ignored. [E:\Unreal Projects\qwer16c_RUNcopy\Intermediate\ProjectFiles\qwer16c.vcxproj]

Hello, guys.

I've made it buldable (didn't try to use yet) in 4.20.1 by next changes:

 --- \Source\PolygonalMapGenerator\Public\Naming\ProceduralNameGenerator.h	2018-08-14 14:58:05.547000000 +0300
 +++ \Unreal-Polygonal-Map-Gen-master\Source\PolygonalMapGenerator\Public\Naming\ProceduralNameGenerator.h	2018-08-14 15:05:44.374000000 +0300
 @@ -38,7 +38,7 @@
  	FText MarkovText;
  };
  
 -USTRUCT(BlueprintType)
 +USTRUCT()
  struct FMarkovCharacter
  {
  	GENERATED_BODY()
 --- \Source\PolygonalMapGenerator\Public\Maps\Elevations\SimplexNoiseElevationDistributor.h	2018-08-14 14:43:55.938000000 +0300
 +++ \Unreal-Polygonal-Map-Gen-master\Source\PolygonalMapGenerator\Public\Maps\Elevations\SimplexNoiseElevationDistributor.h	2018-08-14 15:07:39.480000000 +0300
 @@ -31,13 +31,13 @@
  	USimplexNoiseElevationDistributor();
  
  	// Determine the elevations and water at Voronoi corners.
 -	//UFUNCTION(BlueprintCallable, Category = "World Generation|Island Generation|Map")
 +	UFUNCTION(BlueprintCallable, Category = "World Generation|Island Generation|Map")
  	virtual void AssignCornerElevations(UIslandShape* islandShape, bool bneedsMoreRandomness, FRandomStream& randomGenerator) override;
  	
  	//UFUNCTION(BlueprintCallable, Category = "World Generation|Island Generation|Map")
  		//virtual void AssignOceanCoastAndLand(float lakeThreshold) override;
  
 -	//UFUNCTION(BlueprintCallable, Category = "World Generation|Island Generation|Map")
 +	UFUNCTION(BlueprintCallable, Category = "World Generation|Island Generation|Map")
  	virtual void RedistributeElevations(TArray<int32> landCorners) override;
  
  	UFUNCTION(BlueprintPure, Category = "World Generation|Island Generation|Map")
 --- \Source\PolygonalMapGenerator\PolygonalMapGenerator.Build.cs	2018-08-14 14:33:00.840000000 +0300
 +++ \Unreal-Polygonal-Map-Gen-master\Source\PolygonalMapGenerator\PolygonalMapGenerator.Build.cs	2018-08-14 15:08:50.525000000 +0300
 @@ -4,7 +4,7 @@
  
  public class PolygonalMapGenerator : ModuleRules
  {
 -	public PolygonalMapGenerator(ReadOnlyTargetRules Target) : base(Target)
 +	public PolygonalMapGenerator(TargetInfo Target)
  	{
  		
  		PublicIncludePaths.AddRange(

I'd be happy to donate for a 4.20.2 updated version of this.

So, good news: I made a branch which has refactored the project and works in 4.21. It should also work in 4.20 with little to no changes.

The bad news is that it's not quite up to feature parity yet. I've gotten about half of everything working so far, and it uses a UProceduralMeshComponent to (optionally) generate a mesh showing the island. But I am actively working on it, and the actual "island" part is working -- I just need to work on rivers, moisture, and biomes.

I'm also planning on making the refactor stick closer to the source project, without things like the procedural names for rivers and the like. Much like the source implementation, I also moved from an "array of structs" to a "struct of arrays" approach, as it works much better with Blueprints. The code is also a bit cleaner, to boot.

If you wanted the old features like procedural river names, I'm planning on supporting them through a fork of this repo, so that this port can stay "true to the source material," as it were, while people that want/need more features have somewhere else to go. It also helps me create features for my own project without polluting this version.

Okay, I have officially brought this repo up to par with the source project. I'll be maintaining it intermittently. If you wanted to keep the old project for whatever reason, it's available under the Legacy branch.

In the meantime, since this problem should be solved now, I'm going to go ahead and close this issue. Feel free to reopen it/create a new one if you have any issues.