mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
1.19.1 (#807)
## Bug fixes - Fix translation keys containing <CDATA> breaking. Thanks orclecle for the report! - Added a sphere collision to item props if they had none. Thanks Hawkbar!
This commit is contained in:
commit
13ea363c5e
@ -171,6 +171,11 @@ namespace NewHorizons.Builder.Props
|
||||
if (detail.item != null)
|
||||
{
|
||||
ItemBuilder.MakeItem(prop, go, sector, detail.item, mod);
|
||||
isItem = true;
|
||||
if (detail.hasPhysics)
|
||||
{
|
||||
NHLogger.LogWarning($"An item with the path {detail.path} has both '{nameof(DetailInfo.hasPhysics)}' and '{nameof(DetailInfo.item)}' set. This will usually result in undesirable behavior.");
|
||||
}
|
||||
}
|
||||
|
||||
if (detail.itemSocket != null)
|
||||
|
||||
@ -79,6 +79,12 @@ namespace NewHorizons.Builder.Props
|
||||
item.ClearPickupConditionOnDrop = info.clearPickupConditionOnDrop;
|
||||
item.PickupFact = info.pickupFact;
|
||||
|
||||
if (info.colliderRadius > 0f)
|
||||
{
|
||||
go.AddComponent<SphereCollider>().radius = info.colliderRadius;
|
||||
go.GetAddComponent<OWCollider>();
|
||||
}
|
||||
|
||||
Delay.FireOnNextUpdate(() =>
|
||||
{
|
||||
if (item != null && !string.IsNullOrEmpty(info.pathToInitialSocket))
|
||||
|
||||
@ -19,7 +19,7 @@ namespace NewHorizons.External.Modules.Props.Item
|
||||
/// </summary>
|
||||
public string name;
|
||||
/// <summary>
|
||||
/// The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCode, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name.
|
||||
/// The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCore, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name.
|
||||
/// </summary>
|
||||
public string itemType;
|
||||
/// <summary>
|
||||
@ -27,6 +27,11 @@ namespace NewHorizons.External.Modules.Props.Item
|
||||
/// </summary>
|
||||
[DefaultValue(2f)] public float interactRange = 2f;
|
||||
/// <summary>
|
||||
/// The radius that the added sphere collider will use for collision and hover detection.
|
||||
/// If there's already a collider on the detail, you can make this 0.
|
||||
/// </summary>
|
||||
[DefaultValue(0.5f)] public float colliderRadius = 0.5f;
|
||||
/// <summary>
|
||||
/// Whether the item can be dropped. Defaults to true.
|
||||
/// </summary>
|
||||
[DefaultValue(true)] public bool droppable = true;
|
||||
|
||||
@ -57,7 +57,7 @@ namespace NewHorizons.Handlers
|
||||
return translatedText;
|
||||
}
|
||||
// Try without whitespace if its missing
|
||||
else if (table.TryGetValue(text.TruncateWhitespace(), out translatedText))
|
||||
else if (table.TryGetValue(text.TruncateWhitespaceAndToLower(), out translatedText))
|
||||
{
|
||||
return translatedText;
|
||||
}
|
||||
@ -99,7 +99,7 @@ namespace NewHorizons.Handlers
|
||||
// Fix new lines in dialogue translations, remove whitespace from keys else if the dialogue has weird whitespace and line breaks it gets really annoying
|
||||
// to write translation keys for (can't just copy paste out of xml, have to start adding \\n and \\r and stuff
|
||||
// If any of these issues become relevant to other dictionaries we can bring this code over, but for now why fix what isnt broke
|
||||
var key = originalKey.Replace("\\n", "\n").TruncateWhitespace().Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "");
|
||||
var key = originalKey.Replace("\\n", "\n").Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "").TruncateWhitespaceAndToLower();
|
||||
var value = config.DialogueDictionary[originalKey].Replace("\\n", "\n").Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "");
|
||||
|
||||
if (!_dialogueTranslationDictionary[language].ContainsKey(key)) _dialogueTranslationDictionary[language].Add(key, value);
|
||||
|
||||
@ -1402,7 +1402,7 @@
|
||||
},
|
||||
"itemType": {
|
||||
"type": "string",
|
||||
"description": "The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCode, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name."
|
||||
"description": "The type of the item, which determines its orientation when held and what sockets it fits into. This can be a custom string, or a vanilla ItemType (Scroll, WarpCore, SharedStone, ConversationStone, Lantern, SlideReel, DreamLantern, or VisionTorch). Defaults to the item name."
|
||||
},
|
||||
"interactRange": {
|
||||
"type": "number",
|
||||
@ -1410,6 +1410,12 @@
|
||||
"format": "float",
|
||||
"default": 2.0
|
||||
},
|
||||
"colliderRadius": {
|
||||
"type": "number",
|
||||
"description": "The radius that the added sphere collider will use for collision and hover detection.\nIf there's already a collider on the detail, you can make this 0.",
|
||||
"format": "float",
|
||||
"default": 0.5
|
||||
},
|
||||
"droppable": {
|
||||
"type": "boolean",
|
||||
"description": "Whether the item can be dropped. Defaults to true.",
|
||||
|
||||
@ -351,7 +351,7 @@ namespace NewHorizons.Utility
|
||||
return parentNode.ChildNodes.Cast<XmlNode>().First(node => node.LocalName == tagName);
|
||||
}
|
||||
|
||||
public static string TruncateWhitespace(this string text)
|
||||
public static string TruncateWhitespaceAndToLower(this string text)
|
||||
{
|
||||
// return Regex.Replace(text.Trim(), @"[^\S\r\n]+", "GUH");
|
||||
return Regex.Replace(text.Trim(), @"\s+", " ").ToLowerInvariant();
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
"author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends",
|
||||
"name": "New Horizons",
|
||||
"uniqueName": "xen.NewHorizons",
|
||||
"version": "1.19.0",
|
||||
"version": "1.19.1",
|
||||
"owmlVersion": "2.9.8",
|
||||
"dependencies": [ "JohnCorby.VanillaFix", "_nebula.MenuFramework", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ],
|
||||
"conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user