## Improvements
- CharacterDialogueTrees from a Unity asset bundle will now load
properly and have translations supported

## Bug fixes
- Sector cull groups now function properly (not erroneously enabled even
without KeepLoaded) (fix #792)
- Fixes a problem where projected slides are brighter than the source
image (fix #755)
This commit is contained in:
xen-42 2024-03-18 00:25:24 -04:00 committed by GitHub
commit 21d49587e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 18 additions and 16 deletions

View File

@ -142,6 +142,13 @@ namespace NewHorizons.Builder.Props
FixSectoredComponent(component, sector, existingSectors, detail.keepLoaded);
}
// Asset bundle is a real string -> Object loaded from unity
// If they're adding dialogue we have to manually register the xml text
if (!string.IsNullOrEmpty(detail.assetBundle) && component is CharacterDialogueTree dialogue)
{
DialogueBuilder.AddTranslation(dialogue._xmlCharacterDialogueAsset.text, null);
}
FixComponent(component, go, detail.ignoreSun);
}
catch(Exception e)
@ -296,17 +303,6 @@ namespace NewHorizons.Builder.Props
s.SetParentSector(sector);
}
else if (component is SectorCullGroup sectorCullGroup)
{
sectorCullGroup._controllingProxy = null;
// fixes sector cull group deactivating renderers on map view enter and fast foward
// TODO: does this actually work? what? how?
sectorCullGroup._inMapView = false;
sectorCullGroup._isFastForwarding = false;
sectorCullGroup.SetVisible(sectorCullGroup.ShouldBeVisible(), true, false);
}
else if(component is SectoredMonoBehaviour behaviour && !existingSectors.Contains(behaviour._sector))
{
// not using SetSector here because it registers the events twice

View File

@ -376,7 +376,7 @@ namespace NewHorizons.Builder.Props
}
}
private static void AddTranslation(string xml, string characterName = null)
public static void AddTranslation(string xml, string characterName = null)
{
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xml);

View File

@ -54,7 +54,9 @@ namespace NewHorizons.External.Modules.Props
public string quantumGroupID;
/// <summary>
/// Should this detail stay loaded even if you're outside the sector (good for very large props)
/// Should this detail stay loaded (visible and collideable) even if you're outside the sector (good for very large props)?
/// Also makes this detail visible on the map.
/// Most logic/behavior scripts will still only work inside the sector, as most of those scripts break if a sector is not provided.
/// </summary>
public bool keepLoaded;

View File

@ -1342,7 +1342,7 @@
},
"keepLoaded": {
"type": "boolean",
"description": "Should this detail stay loaded even if you're outside the sector (good for very large props)"
"description": "Should this detail stay loaded (visible and collideable) even if you're outside the sector (good for very large props)?\nAlso makes this detail visible on the map.\nMost logic/behavior scripts will still only work inside the sector, as most of those scripts break if a sector is not provided."
},
"hasPhysics": {
"type": "boolean",

View File

@ -95,6 +95,10 @@ namespace NewHorizons.Utility.Files
_textureCache.Clear();
}
/// <summary>
/// used specifically for projected slides.
/// also adds a border (to prevent weird visual bug) and makes the texture linear (otherwise the projected image is too bright).
/// </summary>
public static Texture2D Invert(Texture2D texture)
{
var key = $"{texture.name} > invert";
@ -122,7 +126,7 @@ namespace NewHorizons.Utility.Files
}
}
var newTexture = new Texture2D(texture.width, texture.height, texture.format, texture.mipmapCount != 1);
var newTexture = new Texture2D(texture.width, texture.height, texture.format, texture.mipmapCount != 1, true);
newTexture.name = key;
newTexture.SetPixels(pixels);
newTexture.Apply();

View File

@ -4,7 +4,7 @@
"author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends",
"name": "New Horizons",
"uniqueName": "xen.NewHorizons",
"version": "1.19.2",
"version": "1.19.3",
"owmlVersion": "2.9.8",
"dependencies": [ "JohnCorby.VanillaFix", "_nebula.MenuFramework", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ],
"conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ],