Skip to content

Commit

Permalink
Release v1.3.5
Browse files Browse the repository at this point in the history
  • Loading branch information
IAmBatby committed Jul 25, 2024
1 parent f1b4cfd commit 79fd1dc
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 8 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
**Changelog**
--

**<details><summary>Version 1.3.5</summary>**

**<details><summary>Fixes</summary>**

* Added safety checks to new FootstepSurface Material cache system.
* Added safety checks to new ExtendedLevel override fog size feature.
* Changed ContentRestoring of EnemyType's to use ScriptableObject name rather than enemyName
* Fixed issue where synced audio clip that plays when previewing enemy beastiary file was not playing for custom enemies
* Fixed issue where custom Enemy beastiary files did not have Info as a default keyword

</details>

</details>

**<details><summary>Version 1.3.4</summary>**

**<details><summary>Fixes</summary>**
Expand All @@ -10,6 +24,8 @@

</details>

</details>

**<details><summary>Version 1.3.3</summary>**

**<details><summary>Features</summary>**
Expand Down
4 changes: 4 additions & 0 deletions LethalLevelLoader/Components/ExtendedContent/ExtendedMod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,8 @@ internal void UnregisterAllExtendedContent()
ExtendedEnemyTypes.Clear();
ExtendedWeatherEffects.Clear();
ExtendedFootstepSurfaces.Clear();
ExtendedStoryLogs.Clear();
ExtendedBuyableVehicles.Clear();
}

internal void SortRegisteredContent()
Expand All @@ -247,6 +249,8 @@ internal void SortRegisteredContent()
ExtendedEnemyTypes.Sort((s1, s2) => s1.name.CompareTo(s2.name));
ExtendedWeatherEffects.Sort((s1, s2) => s1.name.CompareTo(s2.name));
ExtendedFootstepSurfaces.Sort((s1, s2) => s1.name.CompareTo(s2.name));
ExtendedStoryLogs.Sort((s1, s2) => s1.name.CompareTo(s2.name));
ExtendedBuyableVehicles.Sort((s1, s2) => s1.name.CompareTo(s2.name));
}

internal void Example()
Expand Down
21 changes: 15 additions & 6 deletions LethalLevelLoader/Loaders/LevelLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ internal static void RefreshShipAnimatorClips(ExtendedLevel extendedLevel)

internal static void RefreshFogSize(ExtendedLevel extendedLevel)
{
dustCloudFog.parameters.size = extendedLevel.OverrideDustStormVolumeSize;
foggyFog.parameters.size = extendedLevel.OverrideFoggyVolumeSize;
if (dustCloudFog != null)
dustCloudFog.parameters.size = extendedLevel.OverrideDustStormVolumeSize;
if (foggyFog != null)
foggyFog.parameters.size = extendedLevel.OverrideFoggyVolumeSize;
}

internal static void RefreshFootstepSurfaces()
Expand Down Expand Up @@ -120,9 +122,15 @@ internal static void BakeSceneColliderMaterialData(Scene scene)
{
if (sceneCollider.TryGetComponent(out MeshRenderer meshRenderer))
{
if (!cachedLevelColliderMaterialDictionary.ContainsKey(sceneCollider))
cachedLevelColliderMaterialDictionary.Add(sceneCollider, new List<Material>(meshRenderer.sharedMaterials));
List<Material> validMaterials = new List<Material>();
foreach (Material material in meshRenderer.sharedMaterials)
if (material != null && !string.IsNullOrEmpty(material.name))
validMaterials.Add(material);

if (!cachedLevelColliderMaterialDictionary.ContainsKey(sceneCollider))
cachedLevelColliderMaterialDictionary.Add(sceneCollider, new List<Material>(validMaterials));

foreach (Material material in validMaterials)
{
if (!cachedLevelMaterialColliderDictionary.ContainsKey(material.name))
cachedLevelMaterialColliderDictionary.Add(material.name, new List<Collider> { sceneCollider });
Expand Down Expand Up @@ -152,8 +160,9 @@ internal static Dictionary<string, FootstepSurface> GetActiveExtendedFoostepSurf

foreach (ExtendedFootstepSurface extendedFootstepSurface in LevelManager.CurrentExtendedLevel.ExtendedMod.ExtendedFootstepSurfaces)
foreach (Material material in extendedFootstepSurface.associatedMaterials)
if (!returnDict.ContainsKey(material.name))
returnDict.Add(material.name, extendedFootstepSurface.footstepSurface);
if (material != null && !string.IsNullOrEmpty(material.name))
if (!returnDict.ContainsKey(material.name))
returnDict.Add(material.name, extendedFootstepSurface.footstepSurface);


return (returnDict);
Expand Down
2 changes: 2 additions & 0 deletions LethalLevelLoader/Patches/TerminalManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -815,12 +815,14 @@ internal static void CreateEnemyTypeTerminalData(ExtendedEnemyType extendedEnemy
TerminalKeyword newEnemyInfoKeyword = CreateNewTerminalKeyword();
newEnemyInfoKeyword.name = extendedEnemyType.name + "BestiaryKeyword";
newEnemyInfoKeyword.word = extendedEnemyType.EnemyDisplayName.ToLower();
newEnemyInfoKeyword.defaultVerb = routeInfoKeyword;

TerminalNode newEnemyInfoNode = CreateNewTerminalNode();
newEnemyInfoNode.name = extendedEnemyType.name + "BestiaryNode";
newEnemyInfoNode.displayText = extendedEnemyType.InfoNodeDescription;
newEnemyInfoNode.creatureFileID = extendedEnemyType.EnemyID;
newEnemyInfoNode.creatureName = extendedEnemyType.EnemyDisplayName;
newEnemyInfoNode.playSyncedClip = 2;

if (extendedEnemyType.InfoNodeVideoClip != null)
{
Expand Down
2 changes: 1 addition & 1 deletion LethalLevelLoader/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class Plugin : BaseUnityPlugin
{
public const string ModGUID = "imabatby.lethallevelloader";
public const string ModName = "LethalLevelLoader";
public const string ModVersion = "1.3.4";
public const string ModVersion = "1.3.5";

internal static Plugin Instance;

Expand Down
2 changes: 1 addition & 1 deletion LethalLevelLoader/Tools/ContentRestorer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ internal static void RestoreVanillaLevelAssetReferences(ExtendedLevel extendedLe

foreach (EnemyType vanillaEnemyType in OriginalContent.Enemies)
foreach (SpawnableEnemyWithRarity enemyRarityPair in extendedLevel.SelectableLevel.Enemies.Concat(extendedLevel.SelectableLevel.DaytimeEnemies).Concat(extendedLevel.SelectableLevel.OutsideEnemies))
if (enemyRarityPair.enemyType != null && enemyRarityPair.enemyType.enemyName == vanillaEnemyType.enemyName)
if (enemyRarityPair.enemyType != null && !string.IsNullOrEmpty(enemyRarityPair.enemyType.name) && enemyRarityPair.enemyType.name == vanillaEnemyType.name)
enemyRarityPair.enemyType = RestoreAsset(enemyRarityPair.enemyType, vanillaEnemyType);

foreach (SpawnableMapObject spawnableMapObject in extendedLevel.SelectableLevel.spawnableMapObjects)
Expand Down

0 comments on commit 79fd1dc

Please sign in to comment.