Skip to content

Commit 0078e4c

Browse files
committed
Merge branch 'beta'
2 parents 45112ce + a4e454e commit 0078e4c

File tree

14 files changed

+124
-42
lines changed

14 files changed

+124
-42
lines changed

Assets/MapEditor/Managers/AssetManager.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ public static void Initialise(string bundlesRoot)
2626
{
2727
if (!IsInitialised)
2828
{
29+
if (!Directory.Exists(SettingsManager.RustDirectory))
30+
{
31+
Debug.LogError("Directory does not exist: " + bundlesRoot);
32+
return;
33+
}
34+
35+
if (!SettingsManager.RustDirectory.EndsWith("Rust"))
36+
{
37+
Debug.LogError("Not a valid Rust install directory: " + SettingsManager.RustDirectory);
38+
return;
39+
}
40+
2941
ProgressBarManager.Display("Loading Bundles", "Loading Root Bundle", 0.1f);
3042
BundlePath = bundlesRoot;
3143
var rootBundle = AssetBundle.LoadFromFile(bundlesRoot);
@@ -36,7 +48,6 @@ public static void Initialise(string bundlesRoot)
3648
}
3749

3850
var manifestList = rootBundle.LoadAllAssets<AssetBundleManifest>();
39-
4051
if (manifestList.Length != 1)
4152
{
4253
Debug.LogError("Couldn't find AssetBundleManifest - " + manifestList.Length);

Assets/MapEditor/Managers/MapManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ public static void Load(WorldSerialization world, string loadPath = "")
10901090
/// <param name="path">The path to save to.</param>
10911091
public static void Save(string path)
10921092
{
1093-
SaveLayer(TerrainTopology.TypeToIndex((int)TopologyLayer));
1093+
SaveLayer();
10941094
ProgressBarManager.Display("Saving Map: " + path, "Saving Prefabs ", 0.4f);
10951095
WorldSerialization world = TerrainToWorld(Land, Water);
10961096
ProgressBarManager.Display("Saving Map: " + path, "Saving to disk ", 0.8f);

Assets/MapEditor/Managers/PrefabManager.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public static GameObject Process(GameObject go, string filePath)
5050
foreach (var item in go.GetComponentsInChildren<MeshCollider>())
5151
{
5252
item.cookingOptions = MeshColliderCookingOptions.None;
53+
item.enabled = false;
5354
item.isTrigger = false;
5455
item.convex = false;
5556
}
@@ -134,7 +135,7 @@ private static IEnumerator SpawnPrefabsCoroutine(PrefabData[] prefabs)
134135
ProgressBarManager.SetProgressIncrement(1f / prefabs.Length);
135136
for (int i = 0; i < prefabs.Length; i++)
136137
{
137-
if (sw.Elapsed.TotalSeconds > 2f)
138+
if (sw.Elapsed.TotalSeconds > 1.5f)
138139
{
139140
sw.Restart();
140141
ProgressBarManager.DisplayIncremental("Spawning Prefabs", "Spawning Prefabs: " + i + " / " + prefabs.Length);
@@ -156,7 +157,7 @@ private static IEnumerator ReplaceWithLoadedCoroutine(PrefabDataHolder[] prefabs
156157
ProgressBarManager.SetProgressIncrement(1f / prefabs.Length);
157158
for (int i = 0; i < prefabs.Length; i++)
158159
{
159-
if (sw.Elapsed.TotalSeconds > 2f)
160+
if (sw.Elapsed.TotalSeconds > 1.5f)
160161
{
161162
ProgressBarManager.DisplayIncremental("Replacing Prefabs", "Spawning Prefabs: " + i + " / " + prefabs.Length);
162163
yield return null;

Assets/MapEditor/Managers/SettingsManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static void SetDefaultSettings()
7575
{
7676
RustDirectory = @"C:\Program Files (x86)\Steam\steamapps\common\Rust";
7777
ToolTips.rustDirectoryPath.text = RustDirectory;
78-
PrefabRenderDistance = 750f;
78+
PrefabRenderDistance = 700f;
7979
PathRenderDistance = 250f;
8080
WaterTransparency = 0.2f;
8181
SetDefaultPrefabPaths();

Assets/MapEditor/Managers/TerrainManager.cs

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,7 @@ private static void TextureChanged(Terrain terrain, string textureName, RectInt
124124
/// <param name="topology">The Topology layer to change to.</param>
125125
public static void ChangeLandLayer(LandLayers layer, int topology = 0)
126126
{
127-
if (layer == LandLayers.Alpha)
128-
return;
129-
if (layer == LandLayer)
130-
SaveLayer(LastTopologyLayer);
131-
SetLayer(layer, topology);
127+
EditorCoroutineUtility.StartCoroutineOwnerless(Coroutine.ChangeLayer(layer, topology));
132128
}
133129

134130
/// <summary>Returns the SplatMap at the selected LandLayer.</summary>
@@ -195,27 +191,10 @@ public static void SetLayer(LandLayers layer, int topology = 0)
195191
}
196192

197193
/// <summary>Saves any changes made to the Alphamaps, like the paint brush.</summary>
198-
/// <param name="topologyLayer">The Topology layer, if active.</param>
199-
public static void SaveLayer(int topologyLayer = 0)
194+
/// <param name="topology">The Topology layer, if active.</param>
195+
public static void SaveLayer()
200196
{
201-
if (LayerSet == false)
202-
{
203-
Debug.LogError("Saving Layer before layer is set");
204-
return;
205-
}
206-
207-
switch (LandLayer)
208-
{
209-
case LandLayers.Ground:
210-
GroundArray = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
211-
break;
212-
case LandLayers.Biome:
213-
BiomeArray = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
214-
break;
215-
case LandLayers.Topology:
216-
TopologyArray[topologyLayer] = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
217-
break;
218-
}
197+
EditorCoroutineUtility.StartCoroutineOwnerless(Coroutine.SaveLayer());
219198
}
220199

221200
private static void GetTextures()
@@ -274,10 +253,24 @@ private static TerrainLayer[] GetGroundTextures()
274253

275254
private class Coroutines
276255
{
256+
public IEnumerator ChangeLayer(LandLayers layer, int topology = 0)
257+
{
258+
yield return EditorCoroutineUtility.StartCoroutineOwnerless(SaveLayerCoroutine());
259+
yield return EditorCoroutineUtility.StartCoroutineOwnerless(SetLayerCoroutine(layer, topology));
260+
LayerSet = true;
261+
}
262+
277263
public IEnumerator SetLayer(LandLayers layer, int topology = 0)
278264
{
279265
yield return EditorCoroutineUtility.StartCoroutineOwnerless(SetLayerCoroutine(layer, topology));
280266
LayerSet = true;
267+
foreach (var item in Land.terrainData.alphamapTextures)
268+
Undo.ClearUndo(item);
269+
}
270+
271+
public IEnumerator SaveLayer()
272+
{
273+
yield return EditorCoroutineUtility.StartCoroutineOwnerless(SaveLayerCoroutine());
281274
}
282275

283276
private IEnumerator SetLayerCoroutine(LandLayers layer, int topology = 0)
@@ -307,6 +300,28 @@ private IEnumerator SetLayerCoroutine(LandLayers layer, int topology = 0)
307300
TopologyLayer = (TerrainTopology.Enum)TerrainTopology.IndexToType(topology);
308301
yield return null;
309302
}
303+
304+
private IEnumerator SaveLayerCoroutine()
305+
{
306+
while (!LayerSet)
307+
{
308+
yield return null;
309+
}
310+
311+
switch (LandLayer)
312+
{
313+
case LandLayers.Ground:
314+
GroundArray = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
315+
break;
316+
case LandLayers.Biome:
317+
BiomeArray = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
318+
break;
319+
case LandLayers.Topology:
320+
TopologyArray[LastTopologyLayer] = Land.terrainData.GetAlphamaps(0, 0, Land.terrainData.alphamapWidth, Land.terrainData.alphamapHeight);
321+
break;
322+
}
323+
yield return null;
324+
}
310325
}
311326
}
312327
}

Assets/MapEditor/Scripts/ToolTips.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public static class ToolTips
1111
public static GUIContent systemOS = new GUIContent("OS: " + SystemInfo.operatingSystem);
1212
public static GUIContent systemRAM = new GUIContent("RAM: " + SystemInfo.systemMemorySize / 1000 + "GB");
1313
public static GUIContent unityVersion = new GUIContent("Unity Version: " + Application.unityVersion);
14-
public static GUIContent editorVersion = new GUIContent("Editor Version: v0.1.2");
14+
public static GUIContent editorVersion = new GUIContent("Editor Version: v0.1.3");
1515

1616
public static GUIContent runPreset = new GUIContent("Run Preset", "Run this preset with all it's current nodes.");
1717
public static GUIContent deletePreset = new GUIContent("Delete Preset", "Delete this preset from Unity.");

Assets/Resources/Materials/Water.mat

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ Material:
88
m_PrefabInstance: {fileID: 0}
99
m_PrefabAsset: {fileID: 0}
1010
m_Name: Water
11-
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12-
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _GLOSSYREFLECTIONS_OFF _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
11+
m_Shader: {fileID: 4800000, guid: 663c5869691e3624391cd8cd28896134, type: 3}
12+
m_ShaderKeywords: _ALPHABLEND_ON _GLOSSYREFLECTIONS_OFF _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
1313
_SPECULARHIGHLIGHTS_OFF
1414
m_LightmapFlags: 4
1515
m_EnableInstancingVariants: 1
1616
m_DoubleSidedGI: 0
17-
m_CustomRenderQueue: 3000
18-
stringTagMap:
19-
RenderType: Transparent
17+
m_CustomRenderQueue: -1
18+
stringTagMap: {}
2019
disabledShaderPasses: []
2120
m_SavedProperties:
2221
serializedVersion: 3
@@ -74,13 +73,13 @@ Material:
7473
- _Glossiness: 0.5
7574
- _GlossyReflections: 0
7675
- _Metallic: 0
77-
- _Mode: 3
76+
- _Mode: 2
7877
- _OcclusionStrength: 1
7978
- _Parallax: 0.02
8079
- _Shininess: 0.05
8180
- _SmoothnessTextureChannel: 1
8281
- _SpecularHighlights: 0
83-
- _SrcBlend: 1
82+
- _SrcBlend: 5
8483
- _UVSec: 0
8584
- _ZWrite: 0
8685
m_Colors:

Assets/Resources/Shaders.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
2+
3+
Shader "Nature/Terrain/Diffuse" {
4+
Properties {
5+
_Color ("Main Color", Color) = (1,1,1,1)
6+
_MainTex ("Base (RGB)", 2D) = "white" {}
7+
[HideInInspector] _TerrainHolesTexture("Holes Map (RGB)", 2D) = "white" {}
8+
}
9+
SubShader {
10+
Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent"}
11+
LOD 200
12+
13+
CGPROGRAM
14+
#pragma surface surf Lambert vertex:SplatmapVert addshadow fullforwardshadows alpha:fade
15+
#pragma instancing_options assumeuniformscaling nomatrices nolightprobe nolightmap forwardadd
16+
#pragma multi_compile_local __ _ALPHATEST_ON
17+
18+
#define TERRAIN_BASE_PASS
19+
#include "TerrainSplatmapCommon.cginc"
20+
21+
sampler2D _MainTex;
22+
fixed4 _Color;
23+
24+
void surf (Input IN, inout SurfaceOutput o) {
25+
#ifdef _ALPHATEST_ON
26+
ClipHoles(IN.tc.xy);
27+
#endif
28+
fixed4 c = tex2D(_MainTex, IN.tc.xy) * _Color;
29+
o.Albedo = c.rgb;
30+
o.Alpha = c.a;
31+
}
32+
ENDCG
33+
34+
UsePass "Hidden/Nature/Terrain/Utilities/PICKING"
35+
UsePass "Hidden/Nature/Terrain/Utilities/SELECTION"
36+
}
37+
38+
Fallback "Legacy Shaders/VertexLit"
39+
}

Assets/Resources/Shaders/TransparentDiffuseBase.shader.meta

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)