Merge pull request #113 from MegaPiggy/stretch-fix

Fix Stretch & Cloak
This commit is contained in:
Nick 2022-05-13 14:20:15 -04:00 committed by GitHub
commit 65613fe64f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 159 additions and 29 deletions

View File

@ -11,7 +11,7 @@ namespace NewHorizons.Builder.Body
{
public static class CloakBuilder
{
public static void Make(GameObject planetGO, Sector sector, float radius)
public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius)
{
var cloak = SearchUtilities.Find("RingWorld_Body/CloakingField_IP");
@ -28,7 +28,7 @@ namespace NewHorizons.Builder.Body
cloakFieldController._innerCloakRadius = radius * 900 / 3000f;
cloakFieldController._nearCloakRadius = radius * 800 / 3000f;
cloakFieldController._referenceFrameVolume = planetGO.GetAttachedOWRigidbody()._attachedRFVolume;
cloakFieldController._referenceFrameVolume = OWRB._attachedRFVolume;
cloakFieldController._exclusionSector = null;
var cloakSectorController = newCloak.AddComponent<CloakSectorController>();

View File

@ -38,7 +38,8 @@ namespace NewHorizons.Builder.Body
cubeSphere.transform.parent = sector?.transform ?? planetGO.transform;
cubeSphere.transform.rotation = Quaternion.Euler(90, 0, 0);
Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight, module.Stretch);
Vector3 stretch = module.Stretch != null ? (Vector3)module.Stretch : Vector3.one;
Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight, stretch);
cubeSphere.AddComponent<MeshFilter>();
cubeSphere.GetComponent<MeshFilter>().mesh = mesh;

View File

@ -9,6 +9,6 @@ namespace NewHorizons.External
public string TextureMap { get; set; }
public float MinHeight { get; set; }
public float MaxHeight { get; set; }
public MVector3 Stretch { get; set; } = (MVector3)Vector3.one;
public MVector3 Stretch { get; set; }
}
}

View File

@ -498,7 +498,7 @@ namespace NewHorizons.Handlers
// Has to go last probably
if (body.Config.Base.CloakRadius != 0f)
{
CloakBuilder.Make(go, sector, body.Config.Base.CloakRadius);
CloakBuilder.Make(go, sector, rb, body.Config.Base.CloakRadius);
}
return go;

112
NewHorizons/text_schema.xsd Normal file
View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Nomai Text -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- Nomai Text Info -->
<xs:element name="NomaiObject">
<xs:complexType>
<xs:sequence>
<xs:element name="TextBlock" type="TextBlock" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The different text blocks of this object
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipLogConditions" type="ShipLogConditions" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The conditions for unlocking ship log facts
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="LocationA"></xs:complexType>
<xs:complexType name="LocationB"></xs:complexType>
<!-- Text Block Info -->
<xs:complexType name="TextBlock">
<xs:sequence>
<xs:element name="ID" type="xs:positiveInteger" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The id of this text block
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ParentID" type="xs:positiveInteger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The id of the parent text block
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationA" type="LocationA" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationB" type="LocationB" minOccurs="0" maxOccurs="1" >
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>
The text to show for this option
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- Ship Log Conditions Info -->
<xs:complexType name="ShipLogConditions">
<xs:sequence>
<xs:element name="LocationA" type="LocationA" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationB" type="LocationB" minOccurs="0" maxOccurs="1" >
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RevealFacts" type="RevealFacts" minOccurs="0">
<xs:annotation>
<xs:documentation>
Facts to reveal when the player goes through this dialogue node
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- Reveal Facts Info -->
<xs:complexType name="RevealFacts">
<xs:sequence>
<xs:element name="FactID" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The ID of a fact to reveal
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Condition" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The text block ids (separated by commas) that need to be read to reveal that fact
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@ -67,6 +67,7 @@ New Horizons was made with help from:
- [jtsalomo](https://github.com/jtsalomo)
- [Raicuparta](https://github.com/Raicuparta)
- [MegaPiggy](https://github.com/MegaPiggy)
- [Trifid](https://github.com/TerrificTrifid)
Translation credits:
- Russian: GrayFix and Tlya

38
docs/Pipfile.lock generated
View File

@ -111,34 +111,34 @@
},
"json-schema-for-humans": {
"hashes": [
"sha256:66784a3d37c8f730588524cc8f103448847533f067ba8b5d76e7667675ee31f1",
"sha256:ed900db6b19b41bf681513c48ae5e403632878745775ddfc8d5b73438d2930fe"
"sha256:88202f7422311d889f8b845b96dabc2c27766a4eed6253137e6d25006c9faa10",
"sha256:b7dc11eb6982224249b9f6ba5c9c0f47893e202f5c24c2e26b920eb956f18133"
],
"markers": "python_version >= '3.7' and python_version < '4'",
"version": "==0.40.2"
"markers": "python_version >= '3.7' and python_version < '4.0'",
"version": "==0.40.3"
},
"jsonschema": {
"hashes": [
"sha256:636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83",
"sha256:77281a1f71684953ee8b3d488371b162419767973789272434bbc3f29d9c8823"
"sha256:71b5e39324422543546572954ce71c67728922c104902cb7ce252e522235b33f",
"sha256:7c6d882619340c3347a1bf7315e147e6d3dae439033ae6383d6acb908c101dfc"
],
"markers": "python_version >= '3.7'",
"version": "==4.4.0"
"version": "==4.5.1"
},
"markdown": {
"hashes": [
"sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006",
"sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3"
"sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874",
"sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"
],
"markers": "python_version >= '3.6'",
"version": "==3.3.6"
"version": "==3.3.7"
},
"markdown2": {
"hashes": [
"sha256:412520c7b6bba540c2c2067d6be3a523ab885703bf6a81d93963f848b55dfb9a",
"sha256:f344d4adfba5d1de821f7850b36e3507f583468a7eb47e6fa191765ed0b9c66b"
],
"markers": "python_version >= '3.5' and python_version < '4'",
"markers": "python_version >= '3.5' and python_version < '4.0'",
"version": "==2.4.3"
},
"markupsafe": {
@ -204,11 +204,11 @@
},
"menagerie-docs": {
"hashes": [
"sha256:ecfcda7aca8ffc6cb910d38a7fd9571297b35dc33863cacc605356e5ee8f3cf8",
"sha256:f5c463840d915b18856bc93ec35f13ea8fe77556b7c790c7759db061247eda96"
"sha256:6e02af2e4750e66fbeb8eef51d6a26454f735fe98f4d9b941fc371ee827d67b6",
"sha256:9410e416cc9e88a29e4e43e850901afdd4567a9552e40b1b6e48926742cd9379"
],
"index": "pypi",
"version": "==0.1.2"
"version": "==0.1.3"
},
"mypy-extensions": {
"hashes": [
@ -222,7 +222,7 @@
"sha256:5053fc5ca7b8a281081274702ebf1584e341f40a68e6ab8f6b4b79f4b3fdf18e",
"sha256:8e8226f15c0b25565aa391797963b78c95930e12efc40e905153130783e766be"
],
"markers": "python_version >= '3.8' and python_version < '4'",
"markers": "python_version >= '3.8' and python_version < '4.0'",
"version": "==0.1.0"
},
"packaging": {
@ -287,11 +287,11 @@
},
"pyparsing": {
"hashes": [
"sha256:7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954",
"sha256:ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06"
"sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
"sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
],
"markers": "python_full_version >= '3.6.8'",
"version": "==3.0.8"
"version": "==3.0.9"
},
"pyrsistent": {
"hashes": [
@ -453,7 +453,7 @@
"sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
"sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4.0'",
"version": "==1.26.9"
},
"xmlschema": {

View File

@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/Bwc9876/menagerie/master/menagerie/schemas/config_schema.json",
"cache_enabled": true,
"cache_enabled": false,
"base_url": "https://nh.outerwildsmods.com/",
"themes": {
"bootstrap": "https://bootswatch.com/5/darkly/bootstrap.min.css",
@ -11,11 +11,18 @@
"base": "styles/base.css",
"schema": "styles/schema.css"
},
"search": {
"enabled": true,
"site": "nh.outerwildsmods.com"
},
"brand": {
"app_name": "New Horizons",
"favicon_folder": "fav/",
"navbar_icon": "images/icon.webp",
"navbar_icon_size": [29, 29],
"navbar_icon_size": [
29,
29
],
"socials": [
{
"name": "Discord",
@ -35,8 +42,17 @@
],
"meta": {
"description": "Documentation on how to use the New Horizons planet creation tool for Outer Wilds.",
"keywords": ["New Horizons", "Outer Wilds", "Modding", "C#", "Unity"],
"categories": ["games", "utilities"],
"keywords": [
"New Horizons",
"Outer Wilds",
"Modding",
"C#",
"Unity"
],
"categories": [
"games",
"utilities"
],
"image": "images/home/home_logo.webp",
"image_alt": "The New Horizons Logo",
"theme_color": "#ffab8a",

View File

@ -30,7 +30,7 @@ show in explorer" in the pop-up.
![Create a new folder named "planets"]({{ "images/home/create_planets.webp"|static }})
Planets can also be placed in a folder called planets within a separate mod, if you plan on releasing your planets on the mod database. The [Config Template](https://github.com/xen-42/ow-new-horizons-config-template){ target="_blank" } is available if you want to release your own planet mod using configs. If you don't know how GitHub works, you can use the [Addon Creation Tool](https://outerwildsmods.com/custom-worlds/create/) although you will still need a GitHub account.
Planets can also be placed in a folder called planets within a separate mod, if you plan on releasing your planets on the mod database. The [Config Template](https://github.com/xen-42/ow-new-horizons-config-template){ target="_blank" } is available if you want to release your own planet mod using configs.
Now that you have created your planets folder, this is where you will put your planet config files. A config file will
look something like this: